在MonoDroid中使用OnConfigurationChanged()

时间:2012-02-15 06:56:43

标签: c# android monodevelop xamarin.android onconfigurationchanged

我是android开发的新手,我一直在使用java(eclipse)工作到android,但现在我正在切换到使用C#的Mono for Android

在更改方向的java中,我使用了以下代码段:

@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();
        }
    }

Mono for Android中尝试在C#中执行相同操作时,我尝试了这个

 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)

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

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

您必须使用:

Android.Content.Res.Orientation.Landscape

API reference - enum

API refenence - Configuration