我正在开发android。我将尝试以下代码以防止应用程序在旋转选项卡或电话时重新启动。它正在工作,但它没有正确地给出横向和纵向视图。
android:configChanges="keyboardHidden|orientation"
答案 0 :(得分:2)
实际上,
android:configChanges="orientation"
android:screenOrientation="landscape"
清单中的Activity
声明的属性不会阻止在方向更改时重新创建活动,它会阻止平台默认对方向执行任何操作并保留它默认情况下,例如景观。
您可以覆盖
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.newLayout);
}
强制重新开展活动。
答案 1 :(得分:1)
如果您有2个布局(纵向和横向)并且平板电脑上的顺序似乎相反,请切换为使用getRotation
而不是弃用的getOrientation
。像这样的东西
private void setLayout() {
// Get display for detecting the phone orientation
final Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
if (display.getRotation() == Surface.ROTATION_0 || display.getRotation() == Surface.ROTATION_180) {
setContentView(R.layout.home);
} else {
setContentView(R.layout.home_l);
}
}