1

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

我试过这个:

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

但它根本行不通。

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

4

2 回答 2

5

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

        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"

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

于 2012-12-17T09:21:36.847 回答
4

只需调用它以使其保持纵向:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

应该可以解决问题

于 2012-12-17T08:18:52.037 回答