我正在使用此代码来检测布局方向更改,但以下代码使用相同的纵向布局而不是布局布局中保留的布局。
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
答案 0 :(得分:1)
如果您覆盖 onConfigurationChanged 方法,则在屏幕方向更改时不会调用 onCreate 方法。您的活动未重新启动。这就是你得到相同布局的原因。
您需要在 onConfigurationChanged 方法中调用 setContentView(R.layout.your_layout)。