android 检测屏幕方向,android关于屏幕方向问题

本文介绍了如何在Android应用中重写onConfigurationChanged()方法来检测屏幕方向变化,以及在Manifest文件中设置android:screenOrientation属性。重点讲解了7种屏幕定向选项及其用途,包括sensor模式下设备自动感应方向和nosensor模式下锁定显示方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检测屏幕方向

要重写onConfigurationChanged()还有要在manifest 里的act标签下配置

android:screenOrientation="sensor"

android:configChanges="orientation|keyboardHidden|screenSize"

注意

里面的参数得到的结果和getResources().getConfiguration().orientation的结果是一样的.

注意不能用getRequestedOrientation()因为得到的结果不一定正确.

使用时和ActivityInfo.SCREEN_ORIENTATION_PORTRAIT 这个静态常量比较,相同就表示为竖屏

相关参数

screenOrientations属性共有7中可选值(常量定义在 android.content.pm.ActivityInfo类中 ) :

landscape:横屏(风景照) ,显示时宽度大于高度;

portrait:竖屏 (肖像照) , 显示时 高 度大于 宽 度 ;

user:用户当前的首选方向;

behind:继承Activity堆栈中当前Activity下面的那个Activity的方向;

sensor:由物理感应器决定显示方向,它取决于用户如何持有设备,当 设备 被旋转时方向会随之变化——在横屏与竖屏之间;

nosensor:忽略物理感应器——即显示方向与物理感应器无关,不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外);

unspecified :未指定,此为默认值,由Android系统自己选择适当的方向,选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值