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重起导致程序混乱

更多相关文章

  1. Android 在非UI线程直接更新UI信息
  2. Android线程池的简单使用
  3. android子线程创建handler
  4. android java复制和压缩文件或文件夹
  5. android多线程下载详解
  6. android之网络资源多线程下载
  7. Android 多线程更新控件
  8. Android又一个超漂亮的日历控件
  9. Android studio RelativeLayout相对布局(控件相对父控件摆放-左上

随机推荐

  1. 【Android】各式各样的弹出框与对菜单键
  2. Android:Samsung Android devices resolu
  3. Android崩溃日志-混淆前后映射表
  4. Android下滑条ScrollView
  5. Android之Fragment界面布局实例
  6. 【Android Studio】Resource Merging资源
  7. Android中自定义Dialog
  8. ch08 Android Intent
  9. Android(安卓)仿美团网,大众点评购买框悬
  10. android 中buildToolsVersion和dependenc