我正在使用选项卡小部件。当我的子活动正在运行时,我改变了方向,子活动销毁。
作为这个问题的解决方案,我添加了
我的manifest.xml文件中所有活动标签中的android:configChanges="orientation|keyboardHidden
。我发现我的应用程序没有从layout_land
文件夹中获取xml文件。
谁能给我解决这个问题?
提前感谢。
我发现使用onConfigurationChanged
方法我可以知道方向,我必须在布局文件夹中设置横向文件而不是layout_land
文件夹。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
setContentView(R.layout.login_landscape);
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.login);
}
}
这是因为你的活动没有被销毁,因为你已经把android:configChanges="orientation|keyboardHidden"
在清单中,所以当方向改变时,setContentView
不会被调用,因此它不会从layout_land
中选择layout
更新:这不是你的Tab-Activity
的问题,在正常的activity
中试试,它不会选择正确的layout
,或者一般来说,没有选择layout
,你的portrait layout
只会旋转显示在landscape