2014-01-29 58 views
2

有任何方法在橫向模式下隱藏字段? 基本上,我想:在橫向模式下隱藏字段

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 
     } 

    } 

但不起作用。

回答

4

試着這麼做:

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

請原諒我的無知,但我在哪裏輸入代碼? – GtOkAi

+0

我會在你的Activity的'onCreate()'方法中做到這一點。 – nKn

+0

明白了!就我而言,我是用CSharp編程的,我會看看我能做些什麼。謝謝 – GtOkAi

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. 
    }