最近在开发一个web app,发现横屏后,URL会重新加载,体验很不好。
需要更改AndroidManifest.xml文件,在需要禁止重新加载的Activity中增加android:configChanges=“orientation|keyboardHidden|navigation”。但在手机上测试发现,并没有效果,原来,该设置在android4.0及以上的版本中无效,需要另外一个属性:“screenSize”,改成。
android:configChanges="orientation|keyboardHidden|screenSize"
横屏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置videoView全屏播放
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//设置videoView横屏播放
横竖屏切换
android:screenOrientation=“portrait”
则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。
android:screenOrientation=“landscape”,为横屏显示。
上述修改也可以在Java代码中通过类似如下代码来设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了!
if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
{
Log.i("info", "landscape"); // 横屏
} elseif(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)
{
Log.i("info", "portrait"); // 竖屏
}