android横竖屏切换布局处理及屏幕旋转处理

知识点:

1.有时在开发中,写好的布局当屏幕方向变了时,布局会非常难看,甚至一部分布局会显示不出来,通常的处理办法是写两套布局,横屏布局放在layout-land目录下,竖屏布局放在在layout-port下,注意布局文件的名字要相同。这样就ok了。

2.如果手机设置里面的自动旋转屏幕打开了,应用在默认状态下,当横竖屏切换时,会经历onPause->onDestroy->onCreate->onStart->onResume相当于销毁重启,一切资源加载包括控件加载都要重新再来一遍,非常消耗资源,如果不想让应用经历这些销毁创建的步骤,就需要在manifest的activity标签下加入如下代码

android:configChanges="orientation|screenSize"
网上有很多说的只是加入orietation就可以了,实际在api level 13以前是可以得,api level 13后就需要还要加上screenSize。

加上之后就不会销毁重建,而是会调用onConfigure方法,此时需要注意的是如果你的手机设置里面自动旋转屏打开了,且没限定应用或者activity只为横屏或者竖屏模式,此时你的分开的布局就没有效果了,因为不经过onCreate方法,没重新调用setContentView方法嘛,如果想还是在竖屏加载竖屏layout,横屏加载横屏布局,就需要你在onConfigure方法里面调用一下setContentView方法奥,这样系统会根据你当前的横竖屏状态重新选择布局加载的。binggo,over!




你可能感兴趣的:(android开发)