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横竖屏的处理)