如果我以横向模式启动应用程序,那么它将使用横向列表项xml。但如果我以纵向模式启动它并将其旋转到横向模式,它将使用纵向列表项xml进行两种配置。我使用onConfigurationChanged来检测方向更改,但我不确定如何告诉它使用正确的xml文件。我有两个同名的xml文件,但其中一个用于横向。谢谢。
答案 0 :(得分:0)
如果你想要达到这个目的,你应该有 2个文件夹用于布局,应该叫做
layout-land/*
其他
layout-port/*
将布局命名为相同
File.xml
不仅仅是给他们充气,操作系统还可以休息。
在。中指定android:configChanges =“orientation” AndroidManifest.xml中。在那种情况下再次指定setContentView() onConfigurationChanged()或删除AndroidManifest.xml 指令
如果你想继续使用onconfigurationchanged()而不是恰当地膨胀。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}