2

我是 android 开发的新手,到目前为止我一直在通过 java(eclipse) 开发 android,但现在我正在切换到Mono for Android使用 C#。

在 java onorientation changed 中,我使用了以下代码片段:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
             Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();

        } else{
             Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        }
    }

当试图在 C# 中做同样的事情时Mono for Android,我试过这个

 public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig)
        {
            base.OnConfigurationChanged (newConfig);
            if (newConfig.Orientation == Android.Content.Res.Configuration.ORIENTATION_LANDSCAPE)  
            {
                Toast.MakeText(this, "landscape",ToastLength.Long).Show();
            } 
            else /* if (orientation == 0) */
            {
                Toast.MakeText(this, "portrait", ToastLength.Long).Show();
            }
        }

但是Android.Content.Res.Configuration当我尝试使用以下语句时,没有任何值为“ORIENTATION_LANDSCAPE”的属性

if (newConfig.Orientation == Android.Content.Res.Configuration.ORIENTATION_LANDSCAPE)

解决方案可能是什么?还有其他选择吗?

任何帮助表示赞赏!

4

1 回答 1

2

您必须使用:

Android.Content.Res.Orientation.Landscape

API 参考 - 枚举

API 参考 - 配置

于 2012-02-15T10:10:48.213 回答