0

在我的 android 应用程序中,我设计了两个具有相同文件名的不同布局,例如 my_profile.xml,并存储在两个不同的目录中,即 1) res/layout,2) res/layout-land。现在的问题是,如果我在纵向模式下启动活动,它会加载纵向模式布局,但在改变方向后它不会改变布局,但是如果我在横向模式下启动活动,它会加载横向布局,即完美。问题只是当我改变方向时,它不会自动处理它。谁能告诉我,可能是什么问题?

4

3 回答 3

0

检查以下内容:

1)在清单文件中检查活动中的以下行

 android:configChanges="orientation|keyboardHidden|screenSize"

2)覆盖以下功能

@Override

    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);

        Log.d(tag,"onconfig");

        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {

                   // do something
            Log.d(tag,"land");
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
              // do something
        }
    }

-普雷亚

于 2012-12-28T11:44:33.957 回答
0

在您的 manifest.xml 中进行这样的更改,,,,,

<activity android:name=".myActivity" android:windowSoftInputMode="adjustPan" android:configChanges="keyboardHidden"></activity>

不要使用 configuartionChanges="orientation"

而已...

于 2012-12-28T11:44:45.193 回答
0

检查您的清单文件。如果您的活动中有以下内容,请删除它:

android:configChanges="keyboard|orientation|screenSize"

orientation导致活动诉诸相同的布局,而不是创建一个新的。

于 2012-12-28T11:52:42.907 回答