相关动态
android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转旋转手机「android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转」
2025-01-11 23:52


正向拿着手机(平时正常拿手机)对应角度为0度,此时屏幕为为竖屏,旋转180度,对应角度180度,此时屏幕为反向竖屏;

90时此时屏幕为横屏(用户右侧(正向)横屏拿着手机),屏幕角度为270,此时屏幕为反向横屏。

Android可以利用android:screenOrientation控制activity启动时方向,取值可以为:

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_横屏


常见属性解释:

unspecified,默认值,由系统决定,不同手机可能不一致,设置了这个属性会根据手机本身的传感器方向变化。

landscape,强制横屏显示

portrait,强制竖屏显

“reverselandscape” 与正常的横向方向相反显示。

“reverseportrait” 与正常的纵向方向相反显示。

behind,与前一个activity方向相同

“sensor” 根据设备传感器方向设置屏幕方向,当用户旋转设备时,显示的方向会改变。但默认情况下,有些设备不会在所有的四个方向上都旋转,因此要允许在所有的四个方向上都能旋转,就要使用fullsensor属性值。

“fullsensor” 显示的方向(4个方向)是由设备的方向传感器来决定的,除了它允许屏幕有4个显示方向之外,其他与设置为“sensor”时情况类似。

sensorLandscape,横屏旋转,一般横屏游戏会这样设置

sensorPortrait,竖屏旋转

nosensor,旋转设备时候,界面不会跟着旋转。初始化界面方向由系统控制

user,用户当前设置的方向

引用总结(https://www.jianshu.com/p/dd53094b580a 感谢作者):
ActivityInfo属性值 含义
SCREEN_ORIENTATION_UNSET
SCREEN_ORIENTATION_UNSPECIFIED 默认值,系统根据方向感应自动选择屏幕方向
SCREEN_ORIENTATION_LANDSCAPE 正向横屏,显示的宽比高长(锁死为横屏方向,不再让方向感应起作用)
SCREEN_ORIENTATION_PORTRAIT 正向竖屏,显示的高比宽长(锁死为竖屏方向,不再让方向感应起作用)
SCREEN_ORIENTATION_USER 用户当前首选的方向
SCREEN_ORIENTATION_BEHIND 这个有点奇葩,它跟Activity堆栈中的下面一个Activity的方向一致
SCREEN_ORIENTATION_SENSOR 由设备的方向传感器决定,如果用户旋转设备,这屏幕就会横竖屏切换(这里要注意了:这个属性有些强悍。大家知道安卓手机上都有一个“屏幕旋转”按钮,有的也叫“锁定屏幕”随便什么名字不管了,这个设置里面的开关和Activity有密切关系。关闭它之后Activity界面就不能响应方向传感器了,打开它才会恢复正常,挺合理的一个功能,让决定权放在用户手中。可一旦你设置了这个属性,无论用户怎么设置自己的手机上的“屏幕旋转”按钮,打开也好,关闭也好,Activity界面都会响应方向传感器的,会随着用户手持手机的方向自动变化,这就让用户有点奇怪。)
SCREEN_ORIENTATION_NOSENSOR 忽略物理方向传感器,这样就不会随着用户旋转设备而横竖屏切换了(这里有个坑:如果用户横屏拿着手机进行播放,界面也是横屏的,一旦设置了这个属性之后,手机界面会先变换到竖屏,然后才会锁死方向传感器)
SCREEN_ORIENTATION_SENSOR_LANDSCAPE 横屏,和上面它“爸爸”SENSOR一样强悍,无视用户手机设置的“屏幕旋转”按钮开关,直接根据方向传感器来切换正反向横屏,但是不会切换到竖屏
SCREEN_ORIENTATION_SENSOR_PORTRAIT 竖屏,和上面它“爸爸”SENSOR一样强悍,无视用户手机设置的“屏幕旋转”按钮开关,直接根据方向传感器来切换正反向竖屏,不会切换到横屏
SCREEN_ORIENTATION_REVERSE_LANDSCAPE 反向横屏,横屏分正向横屏(靠左手方向横屏)和反向横屏(靠右手方向横屏)
SCREEN_ORIENTATION_REVERSE_PORTRAIT 反向竖屏,就是和正常竖着拿手机相反,竖着掉了个个
SCREEN_ORIENTATION_FULL_SENSOR
SCREEN_ORIENTATION_USER_LANDSCAPE
SCREEN_ORIENTATION_USER_PORTRAIT
SCREEN_ORIENTATION_FULL_USER
SCREEN_ORIENTATION_LOCKED 锁死用户当前屏幕,方向传感器不生效(这里也有一个坑,低版本不生效,如vivo4.1,你如果使用这个属性来锁定屏幕,它会直接变回到竖屏再锁死)

对应角度
android:screenOrientation="landscape"为90度(横屏)
android:screenOrientation="reverseLandscape"为270度(反向横屏)
android:screenOrientation="sensorLandscape"为90度和270度根据G-sensor切换(横屏切换)
android:screenOrientation="portrait"为0度(竖屏)
android:screenOrientation="reversePortrait"为180度(反向竖屏)
android:screenOrientation=“sensorPortrait”为0度和180度之间切换(竖屏切换)

上面的属性一般需要配合android:configChanges使用,如果不设置android:configChanges,在activity页面配置修改时,activity会被重新创建,配置了对应的android:configChanges,activity不会被重建,而是会调用Activity 的onConfigurationChanged()方法。

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_竖屏_02


其中keyboard,keyboardHidden,orientation,screenSize,fontScale等都是常用属性。

android:cnotallow=“orientation|keyboard|mcc|mnc|locale|keyboardHidden|uiMode|fontScale|keyboardHidden|screenSize”

说明:
设置了android:screenOrientation=“portrait”,或者landscape等相关属性(和setRequestedOrientation 设置效果相同),onConfigurationChanged属性不会被调用。

设置为sensor时,会跟随传感器方向改变activity方向,onConfigurationChanged被调用,

public int orientation;

注意:设置了sensor后不是设备的每个方向都支持,类似pixel 2XL 反向竖屏就不支持,需要fullSensor属性才支持。

使用:

得到的结果可能每个人测试的有所不同,这时因为手机有一个方向锁定的功能,或者是自动旋转,叫法可能不同,

小米:

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_横屏_03


pixel

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_横屏_04


上面小米和pixel手机的开关是相反的,我们根据小米手机的文字来说明,当选中方向锁定时,此时方向会被锁定。方向锁定分两种,手机横屏时方向被锁定,手机竖屏时方向被锁定。方向被锁定之后,再次使用setRequestedOrientation时,不同手机可能表现有所不同。pixel未被锁定时,setRequestedOrientation四个方向都可以设置,都有效。

pixel竖屏时被锁定(0)和pixel横屏时被锁定(180)效果相同,setRequestedOrientation REVERSE_PORTRAIT 和Portrait 作用相同,其他有效。

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_横屏_05

android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转_android_06

小米8 未被锁定时和竖屏锁定时(0),setRequestedOrientation REVERSE_PORTRAIT 和Portrait 作用相同,其他有效。
小米8横屏时被锁定(180),setRequestedOrientation 横屏 和反向横屏作用相同,竖屏和反向竖屏作用相同。
小米8就无法直接从竖屏转换到反向竖屏。

屏幕方向锁定获取:

调用this.getWindowManager().getDefaultDisplay().getRotation();
该函数的返回值,有如下四种:
Surface.ROTATION_0,Surface.ROTATION_90,Surface.ROTATION_180,Surface.ROTATION_270 代表了屏幕的方向。

其中,Surface.ROTATION_0 表示的是手机竖屏方向向上,后面几个以此为基准依次以顺时针90度递增。
设置了screenOrientation为sensor后,屏幕可以随着手机方向改变而改变,但当设置了屏幕方向为横屏或者竖屏之后,屏幕就不会再响应屏幕方向的改变,因为setRequestedOrientation和android:screenOrientation="portrait"效果相同,设置之后只能是横屏或者竖屏。

系统提供了OrientationEventListener用来监听屏幕旋转的角度,原理是利用加速度传感器。
使用方法:

android 屏幕方向随传感器变化,并带有切换大屏,小屏和锁定屏幕方向


    以上就是本篇文章【android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转旋转手机「android如何设置手机反转屏幕内容也反转 手机屏幕反向旋转」】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/13567.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
CDMA智能手机 新款诺基亚6638神秘曝光(图)CDMA手机「CDMA智能手机 新款诺基亚6638神秘曝光(图)」
http://www.sina.com.cn 2005年05月10日13:17 eNet硅谷动力 尽管在GSM世界中可以做到呼风唤雨,但在市场尤其是在美国市场上,诺
947乐讯 | 青年音乐家与隐士大师,开启“一个人的古典”2024秋乐季乐讯手机论坛「947乐讯 | 青年音乐家与隐士大师,开启“一个人的古典”2024秋乐季」
6月中旬,上海大剧院“一个人的古典”2024秋乐季发布,4场音乐会、4位女性演奏家、1位“隐士”大师,演绎跨越世纪的经典杰作。两
1982从小巷子开始
李齐一脸茫然的站在屋内的角落,看着他的老妈在跟他的阿爷阿奶。争的脸红脖子粗,桌子还被拍的啪啪响。他都想不明白,自己只不过
42句诗词,42种感悟,最适合发朋友圈,越读越有味道!
千百诗词,千百模样;千百诗词,千百情感。 总有一句诗,让你读后流连忘返,久久难忘。 也许是“春风得意马蹄疾”的欣喜,也许是
cf活动助手一键领取苹果手机版苹果手机官方网「cf活动助手一键领取苹果手机版」
cf活动助手一键领取苹果手机版是一款非常好用的游戏助手软件!这款软件能够帮助大家领取各种游戏活动奖励,十分的方便!轻轻一点
Android手机互换功能按键位置手机按键「Android手机互换功能按键位置」
绝大多数Android手机底部都配有菜单、主页和返回三个快捷功能键。可惜,鲜有厂商会提供菜单键和返回键位置互换的功能。如果你希
30多块的凯夫拉手机壳能用吗?我觉得还凑合…奇葩手机壳「30多块的凯夫拉手机壳能用吗?我觉得还凑合…」
618入手了台xfold3pro,官方送的手机壳只有一半,还会把前膜蹭下来…偏偏官方又没出壳,只好趁618活动买了一兜第三方试试,这个3
android 虚拟内存是什么 手机虚拟内存是什么android是什么手机「android 虚拟内存是什么 手机虚拟内存是什么」
我们应该知道物理内存(Physical Memory)指的是硬件上的内存,即 RAM。它通常指的是插在主板上的内存条,给进程提供临时数据存
2023年最新票房榜:电影《消失的她》突破23亿,《八角笼中》破2亿
2023年最新票房榜出炉,令人瞩目的电影《消失的她》票房突破23亿,继续领跑市场,成为暑期档的一匹黑马。《八角笼中》也不落下风
相关文章