1

我一直在尝试设置我的活动,以便即使设备方向发生变化,内容视图也不会改变。问题是,每当我改变方向(无论是从纵向到横向还是从横向到纵向),布局都会刷新,并重新加载。我想防止我的布局被刷新。我怎样才能完成这项任务?

这是 onConfigurationChanged 方法:

  public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
        Log.d(Global.TAG, "LANDSCAPE");
    }
    if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
         Log.d(Global.TAG, "PORTRAIT");
    }

}

这是我的活动清单:

<activity
            android:name="com.inturnex.safecam.MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
4

1 回答 1

1

如果您已将其LinearLayout配置为位于屏幕底部,它将移至底部,因为就 Android 所知,这是相同的位置。如果您希望LinearLayout屏幕旋转后不在屏幕底部,您可以定义横向和纵向 xml,Android 将在运行时根据方向自动使用适当的 XML。

这是有关如何告诉 Android 使用哪种布局的相关开发人员指南。

于 2013-08-09T17:31:51.223 回答