我正在根据手机的方向改变布局,如下所示:
onCreate ... - >
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.layout1);
}else{
setContentView(R.layout.layout2);
}
这很好用 - 因为每当我更改手机的方向时都会调用onCreate - 但我想改变布局,即使没有回忆onCreate - 我该如何解决?
我尝试使用android:configChanges =“orientation | screenSize” - 然后onCreate它不会在每次手机方向改变时重新加载,但在这里我无法控制布局......什么是我的问题的最佳解决方案?
编辑:
我还尝试添加
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.layout1);
}else{
setContentView(R.layout.layout2);
}
}
但是这里我在更改方向时遇到错误
答案 0 :(得分:0)
从清单中删除android:configChanges="orientation|screenSize"
。在名为res/
的{{1}}中添加一个文件夹,并在其中放置要以横向显示的布局。 Android会选择正确的
答案 1 :(得分:0)