在配置更改时锁定屏幕纵向

Cha*_*ake 1 android landscape-portrait

我有一个布尔的简单活动.我希望它从纵向更改为横向,当且仅当该布尔值为假时(当然,仅当屏幕改变方向时).

我试过这个:

    @Override
    public void onConfigurationChanged(final Configuration newConfig) {
        super.onConfigurationChanged((listening) ? getListeningConfiguration(newConfig)
                : newConfig);
        setContentView(R.layout.medidor);
        preconfigureLayout();
    }

    public Configuration getListeningConfiguration(final Configuration c) {
        c.orientation = Configuration.ORIENTATION_PORTRAIT;
        return c;
    }
Run Code Online (Sandbox Code Playgroud)

但它根本行不通.

除非我告诉它可以改变,否则如何强制活动保持纵向状态?

小智 5

在活动标签中的清单文件中添加

        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)

这将使您的活动保持纵向模式.然后使用您的代码进行方向更改.