我创建了两个文件夹布局和layout-land,其中包含两个xml文件,一个用于纵向,另一个用于横向。这两个xml都可以工作,但这就是问题所在。
我的第一个屏幕是登录屏幕,第二个屏幕是主屏幕。如果我以纵向登录,然后在主屏幕上转动手机横向。布局将横向转动,但它使用纵向xml作为主屏幕。
如果我在风景中开始并且稍后尝试移动到肖像,则会发生同样的错误。
似乎我为我的主要做的任何布局,那就是将用于应用程序其余部分的布局。反正有没有绕过这个?
另外。我已经在我的清单中使用了android:configChanges =“orientation”来进行活动。
答案 0 :(得分:2)
使用android:configChanges="orientation"
表示您将在代码中处理方向更改。如果你想让它自动切换布局,你就不应该那样。
答案 1 :(得分:2)
如果您使用android:configChanges="orientation"
,则可以在配置更改后覆盖onConfigurationChanged
以扩充新布局。
@Override
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(...);
}
确保您有充分的理由阻止在方向更改时重新创建活动...而且最重要的是不要只是因为方向更改导致应用程序崩溃。自己处理配置更改会使使用备用资源变得更加困难,因为系统不会自动为您应用它们。当您必须避免因配置更改而重新启动时,此技术应被视为最后的手段,并且不建议用于大多数应用程序。
答案 2 :(得分:0)
确保两个不同文件夹中的两个xml文件具有相同的名称。