我正在尝试自己处理屏幕旋转,我需要知道:如何告诉我的活动使用另一个.xml文件进行新布局?我尝试过不同的东西,但都没有。
祝你好运
答案 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,这是一篇关于更快改变方向的精彩文档。