我有一个带布尔值的简单活动。我希望它从纵向更改为横向,当且仅当该布尔值为假时(当然,仅当屏幕改变方向时)。
我试过了:
@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;
}
但它根本行不通。
除非我告诉它可以改变活动,否则如何强制活动保持纵向状态?
答案 0 :(得分:5)
在活动代码中的清单文件中添加
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
这将使您的活动保持纵向模式。然后使用您的代码进行方向更改。
答案 1 :(得分:4)
只需调用它以保持纵向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);