==Android 2.3以前的横竖屏切换==

在Android 2.3平台上,我们可以需要设置界面的横竖屏显示时,可以在AndroidManifest.xml中,对Activity的属性添加以下代码:

android:configChanges="orientation"

同时在Activity中覆写onConfigurationChanged方法

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.i("TAG","I'm Android 2.3");

}

通过设置,当前Activity在横竖屏切换的时候,便不会重新走Activity的生命周期,而是直接执行onConfigurationChanged()方法里的内容。

==Android 4.0以后的横竖屏切换==

当我们在Android 4.0上像之前那样设置横竖屏时,会发现竟然没有效果,Activity依然走自己的生命周期,这是因为在API level 13以后Android做了修改了,SDK描述如下:

Caution: Beginning with Android 3.2 (API level 13), the "screen size" also changes when the device switches between portrait and landscape orientation. Thus, if you want to prevent runtime restarts due to orientation change when developing for API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), you must include the "screenSize" value in addition to the "orientation" value. That is, you must decalare android:configChanges="orientation|screenSize". However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

也就是说在Android 3.2(API level 13)以后,当设备横竖屏切换时屏幕尺寸也改变了。因此,如果你想在API Level 13或者更高的环境下,像以前那样阻止设备的横竖屏切换,你需要在orientation后加上screenSize。也就说你要像这样声明:android:configChanges="orientation|screenSize"。

也就是说我们现在要在AndroidManifest.xml中的Activity加入以下属性:

android:configChanges="orientation|screenSize"

同时依然要在Activity中覆写onConfigurationChanged方法

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.i("TAG","I'm Android 4.0");

}

android横竖屏切换方法,Android 4.0 横竖屏切换注意事项相关推荐

  1. android颜色值的表示方法android:background=#FFFFFFFF的意思

    android颜色值的表示方法 android:background="#FFFFFFFF"的意思 Android中的颜色值是通过红(Red).绿(Green).蓝(Blue)三原 ...

  2. 华为手机怎么使用分屏_安卓7.0分屏怎么设置 安卓7.0分屏怎么使用【详解】

    安卓7.0自发布之后,由于系统的开源性,谷歌并没有办法让所有手机都升级.但是也不乏跟进最新安卓7.0系统的厂商,当然也有自己尝试刷第三方安卓7.0系统的网友.根据官方的资料显示,安卓7.0在系统流畅以 ...

  3. android横竖屏切换方法,Android横竖屏切换的生命周期

    关于Android手机横竖屏切换时Activity的生命周期问题,网上有很多相似的文章,大多数都是说明在竖屏切换横屏时Activity会重启一次,而在横屏切换竖屏时Activity会重启两次. 我本身 ...

  4. android 截长图 方法,Android实现截屏与截长图功能

    本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...

  5. android隐藏软键盘方法,Android显示和隐藏软键盘方法

    InputMethodManager类 Android中软键盘的管理主要是通过InputMethodManager类来完成的. InputMethodManager对象的获取方法如下: 获取到Inpu ...

  6. android中的add方法,Android中Fragment怎么addView?

    慕勒3428872 Fragment是Android honeycomb 3.0新增的概念,在Android--Fragment介绍.AndroidFragment使用.Android Fragmen ...

  7. android的反调试方法,Android平台融合多特征的APP反调试方法与流程

    本发明涉及Android平台融合多特征的APP反调试方法,属于计算机与信息科学技术领域. 背景技术: 应用程序本身并不具备反调试的功能,但是动态调试是动态分析应用逻辑.动态脱壳等攻击方式所采取的必要手 ...

  8. android 开启子线程方法,android中开启子线程

    AndroidRuntime(673): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/ ...

  9. android 矢量图片使用方法,Android中的矢量图

    概述 VectorDrawable是通过XML文件中的一系列点,线和曲线及其相关颜色信息定义的. 使用VectorDrawable的主要优点是图像可扩展性. 它可以缩放而不损耗显示质量,这意味着相同的 ...

最新文章

  1. Windows Server 2008与2012建立林信任关系
  2. MVC4做网站后台:模块管理1、修改模块信息
  3. 软件验收标准和验收方法_自动门的验收标准
  4. 454. 4Sum II ——查找本质:hash最快,二分次之
  5. python类中方法的执行顺序-Python中实例化class的执行顺序示例详解
  6. java 隐藏地址栏参数_要想在浏览器的地址栏上的URL中隐藏传输的参数,需要将form标签的method属性值设置为( )。 (5.0分)_学小易找答案...
  7. python中怎么创建配置文件_如何在Django中创建配置文件注册表单?
  8. Android N 多窗口模式,你需要知道的一切
  9. PHP 查找链表倒数第i个节点
  10. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
  11. 汕头创易计算机科技,汕头文创设计下一个“爆款”在哪?汕大优秀毕业生分享创作心得...
  12. pku 2348 Euclid's Game
  13. 使用Telnet客户端测试Exchange邮件收发
  14. 访问类路径下资源的两种方式
  15. 彻底解决电脑空闲时,Win音频设备图形隔离(系统进程)占用CPU的问题
  16. 知识点滴 - 大麦、小麦、燕麦和荞麦的区别
  17. 网页和移动端使用一键添加qq群组件
  18. 无法使用密钥激活Parallels Desktop 9 for Mac
  19. 程序员必学的职场人际关系22原则
  20. docker run 的 -i -t -d参数

热门文章

  1. 进程间的五种通信方式介绍
  2. Alleviating Class-wise Gradient Imbalance for Pulmonary Airway Segmentation
  3. 学生成绩管理系统(六):项目总结
  4. Opencv cvCircle函数
  5. LeetCode T35_searchInsert
  6. 用广义线性模型进行数据分析(上)
  7. Java13环境配置
  8. 长风破浪会有时:单向链表、双向链表和循环链表图文解析
  9. DO447使用过滤器和插件转换器--使用查找模板化外部数据
  10. Laravel orm 观察者模式理解observe