显示两个方向的不同布局

时间:2012-12-28 11:35:33

标签: android android-layout

在我的Android应用程序中,我设计了两个不同的布局,文件名相同,如my_profile.xml,并存储在两个不同的目录中,即1)res / layout,2)res / layout-land。现在的问题是,如果我在纵向模式下开始活动,它会加载纵向模式布局,但在更改方向后它不会改变布局,但如果我在横向模式下开始活动,它会加载横向布局,即完美。问题仅在我改变方向时,它不会自动处理。任何人都可以告诉我,问题是什么?

4 个答案:

答案 0 :(得分:1)

请点击此链接。

Handling-screen-layout-changes-in-Android

它将通过适当的例子详细解释所有这些概念。

感谢。

答案 1 :(得分: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
        }
    }

-Preeya

答案 2 :(得分:0)

在manifest.xml中进行如下改动,如,,,

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

不要使用configuartionChanges =“orientation”

多数民众赞成......

答案 3 :(得分:0)

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

android:configChanges="keyboard|orientation|screenSize"

orientation会导致活动采用相同的布局,而不是创建新的布局。