如何更改活动使用的.xml文件?

时间:2012-02-05 19:04:21

标签: java android

我正在尝试自己处理屏幕旋转,我需要知道:如何告诉我的活动使用另一个.xml文件进行新布局?我尝试过不同的东西,但都没有。

祝你好运

2 个答案:

答案 0 :(得分:4)

您没有在代码中处理它,而是将您的其他布局文件(具有相同名称)放在相应的文件夹中(然后Android会完成其余的工作)。

像这样(伪代码):

layout_landscape\my_layout.xml
layout\my_layout.xml

链接: http://developer.android.com/guide/practices/screens_support.html

答案 1 :(得分:0)

尝试setContentView(your new xml),您应该覆盖onConfigurationChanged()并采取相应行动

方向更改通常再次调用onCreate(),并以新配置重新启动活动。

确保执行以下操作:

设置活动的清单以拦截方向更改事件

 android:configChanges="keyboardHidden|orientation"

覆盖onConfigurationChanged()

@Override
    public void onConfigurationChanged(Configuration newConfig) 
    {
      super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == android.content.res.Configuration.ORIENTATION_PORTRAIT)
            {
                setContentView(R.layout.layout_portrait);

            }
            else if (newConfig.orientation == android.content.res.Configuration.ORIENTATION_LANDSCAPE)
            {
                setContentView(R.layout.layout_landscape);
            }
    }

阅读this,这是一篇关于更快改变方向的精彩文档。