Android屏幕旋转设置
1. 两种方式强制设置横屏或竖屏
第一种,通过修改Activity的onResume()方法
@Override
protected void onResume() {/*** 设置为横屏*/if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}super.onResume();
}
第二种,在工程的AndroidManifest.xml文件中,对Activity节点添加
android:screenOrientation="portrait" <!--竖屏-->
android:screenOrientation="landscape" <!--横屏-->
2. 屏幕旋转
不加任何旋转屏幕的处理代码的时候,屏幕旋转时将会导致系统把当前的activity销毁,重新打开。
如果只是简单的界面调整,我们可以阻止此问题的发生,屏幕旋转而自己调整屏幕的元素重构。
首先我们需要修改AndroidManifest.xml文件
<activity android:name="com.charein.dingdang.MainActivity" >
</activity><!--修改为:-->
<activity android:name="com.charein.dingdang.MainActivity" android:configChanges="orientation|keyboard">
</activity>
然后重写onConfigurationChanged方法
@Override
public void onConfigurationChanged(Configuration newConfig) {// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);Log.v(" == onConfigurationChanged");processLayout();
}
当碰到activity在切换到后台或布局从横屏切换到竖屏,会销毁该activity并重新打开。
为了避免这种情况,我们可以在AndroidManifest.xml中的activity元素加入这个属性
android:configChanges="orientation|keyboardHidden"就能有效避免onCreate方法的重复加载,
同时在Activity的java文件中重载onConfigurationChaned(Configuration newConfig)这个方法。
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {}else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {}}
关于Activity的横竖屏切换问题,可以通过AndroidManifest.xml文件中的Activity来配置:
android:screenOrientation=["unspecified" | "user" | "behind" | "landscape" | "portrait" | "sensor" | "nonsensor"]
screenOrientation 用来指定Activity的在设备上显示的方向,每个值代表如下含义:
"unspecified "
|
默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. |
"landscape "
|
横屏显示(宽比高要长) |
"portrait "
|
竖屏显示(高比宽要长) |
"user "
|
用户当前首选的方向 |
"behind "
|
和该Activity下面的那个Activity的方向一致(在Activity堆栈中的) |
"sensor "
|
有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。 |
"nosensor "
|
忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified "设置除外 )。
|
Android屏幕旋转设置相关推荐
- Android屏幕旋转时Activity不重新调用onCreate的方法
2019独角兽企业重金招聘Python工程师标准>>> android屏幕旋转时Activity不重新调用onCreate的方法 当手机转屏时,Activity的onDestroy和 ...
- 关于屏幕旋转设置:iOS5、iOS6及iOS7
关于屏幕旋转设置: iOS5调用 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOri ...
- Android 屏幕旋转时Activity的变化
Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何"设置"(Configuration)的改变都可能对Activity的 ...
- 通过广播获取Android屏幕旋转事件
Android获取系统屏幕旋转的方式有几种,其中比较常见的是通过重写Activity中的onConfigurationChanged方法,但是这种方法有个缺陷,当测试程序在后台运行的时候不能 ...
- android 屏幕旋转流程,android自动屏幕旋转流程分析.doc
android自动屏幕旋转流程分析.doc android自动屏幕旋转流程分析 在android设置(Settings)中我们可以看到显示(display)下有一个自动屏幕旋转的checkbox, 如 ...
- android 屏幕方向监听,android 屏幕旋转问题 - jwzhangjie的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
settings设置 在Android的Settings-> Display中有Orientation这一设置项.当选中时,屏幕会随设备旋转. settings设置是在文件SoundAndDis ...
- Android 屏幕旋转 全解析
屏幕旋转一般的解决方案 关于屏幕旋转这里,之前一直没太注意,因为根据设备会有指定的屏幕旋转策略如: 开发手机应用时一直使用强制竖屏布局 开发平板设备一直使用横屏布局 开发系统应用,一般给两套即横竖各一 ...
- Android屏幕旋转,赶紧学习一下
ActivityInfo.SCREEN_ORIENTATION_SENSOR //根据传感器设置方向 ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR //根据传 ...
- android 屏幕旋转
基本思路:在输入事件分发线程中(代码在WindowManagerService.java中),当事件为按键事件而且按键码与自定义功能键的码值一样时,向一个特定的Service(如com.android ...
最新文章
- WebView + jQuery
- 查看MS SQL Server数据库每个表占用的空间大小
- 修改MySQL数据文件默认路径
- 低情商大神的思维,高情商的你会懂么?为什么很多计算机老师都是坏脾气?为什么提问没人回答?为什么要通过网络自主学习?
- 基于Node.js实现压缩和解压缩的方法
- 最新房天下登录接口(RSA)JS逆向分析
- 第六章 ---- 面向对象(三)
- 剑指Offer之求解1+2+....+n
- 亚马逊遭遇15万人联名抗议:AI刷脸可以,但卖给政府不OK
- 【51单片机】STC-ISP软件保姆级烧录教程(以普中A2开发板为例)
- webstorm的 快捷键(Keymap)
- 宠物动物有什么计算机专业岗位,宠物医院前台岗位职责
- SRCNN:Image Super-Resolution Using Deep Convolutional Networks
- 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 有序
- 谈微软 KMS 激活
- 教你解决“邮件”应用不断提示输入密码的方法!
- word里添加加行号可编辑的代码方式,超级方便简单
- 资源警告!有人收罗了40个中文NLP词库,放到了GitHub上
- 微信hook——登录界面的账号密码
- Spring Boot集成海康威视NVR
热门文章
- double类型精度丢失问题以及解决方法
- 我是最闪亮的单身贵族!
- 不能使用鼠标在vi中实现粘贴功能
- 树莓派(五) 树莓派和windows的文件传输方法
- When Transfer Learning Meets Cross-City Urban Flow Prediction: Spatio-Temporal Adaptation Matters
- 低压400瓦同步电机驱动器方案低压400瓦驱动器方案,带霍尔传感器,恒转速,pi调节
- 全局事务服务 GTS 与 Seata 融合的开始
- 斜率优化详解(超详细, 有图有代码有注释)
- 《炬丰科技-半导体工艺》硅晶片清洗是半导体制造中的一个基础步骤
- 日志管理:如何通过日志实现日志日志可治理