android UI横竖屏的处理
android对于UI横竖屏已经做了很多工作,这使的应用开发比较的方便。
作为应用开发人员在设计UI前首先需要确定以下几个问题:
- 该UI是否需要支持横竖屏
如果规定只支持横屏或竖屏,只需要在AndroidManifest.xml中为指定的Activity
强行设置为横屏:android:screenOrientation="landscape"
强行设置为竖屏:android:screenOrientation="portrait"
- 要支持横竖屏
首先需要有layout支持,layout-land文件夹横屏的所有layout,layout-port文件夹保存所有竖屏的layout文件,通常把默认的layout文件夹删除,这样可以避免一些不必要的麻烦,两个文件夹下的layout文件夹名必须相同,文件中的控件ID必须相同,其他可以调整,如控件位置,颜色、大小等,一般来说不同风格的屏其屏幕布局应该不同。
完成这些后系统就可以根据当前屏幕调用不同的layout
- 如果只做上一步那么在每次横竖屏切换时会重起activity,会导致软件混乱,如:全局变量,线程,为了避免该问题出现可以在AndroidManifest.xml中为指定的Activity增加以下属性:
android:configChanges="keyboardHidden|orientation"
增加该属性后必须获得其权限,因此需要增加:
uses-permission android:name="android.permission.CHANGE_CONFIGURATION"
同时需要重写public void onConfigurationChanged(Configuration newConfig)
注:在android的UI中很容易导致UI重绘,个人建议对一些关键内容,如:关键全局参数以及线程需要在软件中做特殊处理,防止由于activity重起导致程序混乱
更多相关文章
- Android 在非UI线程直接更新UI信息
- Android线程池的简单使用
- android子线程创建handler
- android java复制和压缩文件或文件夹
- android多线程下载详解
- android之网络资源多线程下载
- Android 多线程更新控件
- Android又一个超漂亮的日历控件
- Android studio RelativeLayout相对布局(控件相对父控件摆放-左上