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支持的资源
- Android导入工程提示 Invalid project description 详解
- android drawable文件夹说明
- Android(安卓)Jetpack-LiveDataBus使用
- 【Android】Android(安卓)中支持的几种传感器
- (2016.5.26更新8.0.1失效问题)Android(安卓)Studio上使用Butterk
- Android(安卓)SDK Content loader has encountered a problem
- 修改Android(安卓)app图标(Android(安卓)Studio)
- Android开发笔记之 配置并使用Android支持的库