在Android平板电脑的景观和肖像视图

时间:2011-04-18 10:10:09

标签: android

我正在开发android。我将尝试以下代码以防止应用程序在旋转选项卡或电话时重新启动。它正在工作,但它没有正确地给出横向和纵向视图。

android:configChanges="keyboardHidden|orientation"

2 个答案:

答案 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);
    }
}