我知道如何在活動類中做到這一點,但這不符合我的需要。在我的類擴展視圖,一旦方法被調用,我想屏幕方向被鎖定。然後,一旦另一種方法被稱爲我想它被解鎖。在View類中鎖定屏幕方向 - Android
有沒有辦法,我可以我的類,它擴展視圖中做到這一點?
謝謝。
我知道如何在活動類中做到這一點,但這不符合我的需要。在我的類擴展視圖,一旦方法被調用,我想屏幕方向被鎖定。然後,一旦另一種方法被稱爲我想它被解鎖。在View類中鎖定屏幕方向 - Android
有沒有辦法,我可以我的類,它擴展視圖中做到這一點?
謝謝。
我想你在找什麼,是configChanges看到文檔 - >http://developer.android.com/reference/android/R.attr.html#configChanges
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
setContentView(this.gameView);
if (this.gameView.isOrientationChange() == false) {
// Stop the screen orientation changing during an event
switch (this.getResources().getConfiguration().orientation) {
case Configuration.ORIENTATION_PORTRAIT:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Configuration.ORIENTATION_LANDSCAPE:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
}
else {
// allow screen rotations
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
}
在類擴展視圖中,有一個orientationChange布爾字段。這通過指示設備方向是否可以改變的方法來改變。這工作,但屏幕大小也改變方向時更改。所以如果有很多代碼依賴於大小和時間,那麼這可能會導致更多的問題而不是解決問題。
也許我有一個方法,只是寫下:
設置layoutParams.screenOrientation
價值爲:ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
或ActivityInfo.SCREEN_ORIENTATION_LOCKED
然後,調用addView
或updateViewLayout
更新此的LayoutParams。
是的,但是這隻能在一個活動中使用。我的問題是我如何操縱視圖內的。 – Waddas 2013-05-02 23:21:03
需要更多的細節 – TheBeps 2013-05-03 02:51:47