我正在构建一个简单的Android游戏,我想在纵向和横向视图中工作。我在xml
和layout
中创建了单独的layout-land
个文件。在我的清单文件中,我有android:configChanges="orientation|screenSize|keyboardHidden"
。
在游戏过程中发生屏幕旋转时会出现问题。有一些图像开始游戏时看不见,然后在游戏过程中变得可见。如果在游戏过程中屏幕方向发生变化,这些图像的所有属性都会重置为xml文件中的默认设置为不可见,因此现在游戏无法播放,因为所有突然的图像都会消失。
我的问题是:当屏幕方向发生时,如何保留所有视图的更新属性?
此外,我必须通过onCreate
方法添加活动来强制启动活动:
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.activity_main);
}else {
setContentView(R.layout.activity_main_land);
}
并手动添加onConfigurationChanged
方法以强制正确显示方向更改。我是否必须在此处手动执行所有这些属性更新?
答案 0 :(得分:0)
您可以使用onSaveInstanceState()方法保存游戏状态,并使用onRestoreInstanceState()恢复
见: