以横向模式隐藏字段

时间:2014-01-29 00:02:08

标签: android xamarin

有任何方法可以在横向模式下隐藏字段吗? 基本上,我想:

android:visibility="GONE"

仅在横向模式下。有可能吗?用简单的解决方案......

我试过了:

 public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig)
    {
        base.OnConfigurationChanged(newConfig);
        if(newConfig.Orientation == Android.Content.Res.Orientation.Landscape)
        {
// 1
        }
        else
        {
  // 2
        }

    } 

但是不起作用。

2 个答案:

答案 0 :(得分:4)

尝试类似:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
  View my_view = findViewById(R.id.your_view);
  my_view.setVisibility(View.GONE);
}

答案 1 :(得分:2)

好的,我发现你正在使用Xamarin和C#,试着更具体地解决你的问题,所以我们可以帮助你=)。

这是如何隐藏和取消隐藏按钮的示例?

// get the initial orientation
var surfaceOrientation = WindowManager.DefaultDisplay.Rotation;

if (surfaceOrientation == SurfaceOrientation.Rotation0 || surfaceOrientation == SurfaceOrientation.Rotation180) {
    button.Visibility=ViewStates.Invisible;  
 } else {
    button.Visibility=ViewStates.Visible;
 }

public override void OnConfigurationChanged (Android.Content.Res.Configuration newConfig)
  {
    base.OnConfigurationChanged (newConfig);                            
    if (newConfig.Orientation == Android.Content.Res.Orientation.Landscape) {
      button.Visibility=ViewStates.Invisible;        //invisible in landscape.
    } else if (newConfig.Orientation == Android.Content.Res.Orientation.Portrait) {
      button.Visibility=ViewStates.Visible;         //viible in portrait.
    }