OnConfigurationChanged正在重新加载我的contentview

时间:2013-08-09 16:13:57

标签: android android-layout configuration orientation

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

这是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>

1 个答案:

答案 0 :(得分:1)

如果您将LinearLayout配置为位于屏幕底部,则会移至底部,因为这与Android所知的位置相同。如果您希望屏幕旋转后LinearLayout不在屏幕底部,则可以定义横向和纵向xml,Android将根据运行时的方向自动使用相应的颜色。 / p>

Here is the relevant developer guide关于如何告诉Android使用哪种布局。