Java 视图类中的锁定屏幕方向-Android
我知道如何在活动课中做到这一点,但是这不符合我的需要。在扩展视图的类中,一旦调用了一个方法,我希望屏幕方向被锁定。一旦调用了另一个方法,我希望它被解锁 在我的类中有没有一种方法可以扩展视图Java 视图类中的锁定屏幕方向-Android,java,android,Java,Android,我知道如何在活动课中做到这一点,但是这不符合我的需要。在扩展视图的类中,一旦调用了一个方法,我希望屏幕方向被锁定。一旦调用了另一个方法,我希望它被解锁 在我的类中有没有一种方法可以扩展视图 谢谢。我想您需要的是配置更改,请参见文档-> 在类扩展视图中,有一个方向更改布尔字段。这通过指示是否可以更改设备方向的方法进行更改。这是可行的,但当方向改变时,屏幕大小也会改变。因此,如果有很多代码依赖于大小和时间,那么这可能会导致更多的问题,而不是解决问题 也许我有一个方法,只要写下: 将layoutPar
谢谢。我想您需要的是配置更改,请参见文档->
在类扩展视图中,有一个方向更改布尔字段。这通过指示是否可以更改设备方向的方法进行更改。这是可行的,但当方向改变时,屏幕大小也会改变。因此,如果有很多代码依赖于大小和时间,那么这可能会导致更多的问题,而不是解决问题 也许我有一个方法,只要写下: 将
layoutParams.screenOrientation
值设置为:ActivityInfo.SCREEN\u ORIENTATION\u UNSPECIFIED
或ActivityInfo.SCREEN\u ORIENTATION\u LOCKED
然后,调用
addView
或updateViewLayout
来更新此布局参数。是,但这只能在活动中使用。我的问题是如何在视图中操纵它。
@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);
}
}