Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视图类中的锁定屏幕方向-Android_Java_Android - Fatal编程技术网

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