android设置竖屏仍然跟随屏幕旋转怎么办

如题所问,我最近遇到一个bug,就是设置了摇感,然后有用户反馈说设置了手机下拉的系统设置-屏幕旋转-关闭。然后屏幕还是会旋转的问题。

首先,我们先从如何设置横竖屏了解下好了

设置横屏和竖屏的方法:

方法一:在AndroidManifest.xml中配置

如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:

"unspecified":默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.

"landscape":横屏显示(宽比高要长)

"portrait":竖屏显示(高比宽要长)

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

"behind":和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)

"sensor":有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。

"nosensor":忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。

方法二:在java代码中设置

设置横屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏

设置竖屏代码:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏 

因为横屏有两个方向的横法,而这个设置横屏的语句,如果不是默认的横屏方向,会把已经横屏的屏幕旋转180°。

所以可以先判断是否已经为横屏了,如果不是再旋转,不会让用户觉得转的莫名其妙啦!代码如下:

if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

是吧,设置的无非就这两种方法。但是搜索的方法千篇一律都是差不多的。然后我设置的是"sensor"。然后也不懂问题出在了哪里,没办法只能继续去找资料看看。或许有更多的可能性没考虑到,结果在一篇文章中找到了。

原来就是方向传感器决定的,它没办法随系统设置的旋转。优先级比较高吧。吐了呀!然后我就直接把清单文件的 android:screenOrientation 属性删了。用默认的属性或者改成 android:screenOrientation="unspecified" 。问题就解决了。

当然了还有标题出现的这个问题,就是设置竖屏仍然跟随屏幕旋转,可能需要你细心的找找你设置的方法一或者方法二哪一步设置错了。或者代码设置错了。毕竟慢工出细活,要细心才不容易出错。

嗯嗯,还有就是遇到了个问题:如何判断是否开启自动旋转。下面就来分享一下方法:系统是否允许自动旋转屏幕的方法

    /*** 系统是否允许自动旋转屏幕*/public static boolean isAutoRotateOn(Context context) {//获取系统是否允许自动旋转屏幕return (android.provider.Settings.System.getInt(context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1);}

之前有查阅的如下:

Activity手动设置横竖屏展示之后继续保持横竖屏自动切换 - 简书

安卓 屏幕旋转 - 自由资讯

android设置横屏和竖屏的方法-腾讯云开发者社区-腾讯云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67980.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GloVe、子词嵌入、BPE字节对编码、BERT相关知识(第十四次组会)

GloVe、子词嵌入、BPE字节对编码、BERT相关知识(第十四次组会) Glove子词嵌入上游、下游任务监督学习、无监督学习BERTGlove 子词嵌入 上游、下游任务 监督学习、无监督学习 BERT

人工智能在监控系统中的预测与优化:提升效率和响应能力

引言:人工智能的发展给监控系统带来了新的可能性,通过分析历史监控数据和其他相关数据,人工智能可以预测未来可能发生的事件,如交通拥堵、安全隐患等,并帮助优化监控系统的配置和资源分配。这种预测和优化的能力可以提…

多主题自适应知识变现博客论坛,支持docker一键部署

iblog 给大家推荐一个多主题自适应,支持付费收款的博客论坛系统,支持docker一键部署,支持企业微信通知。 前端 多主题 自适应 个人页 后端 H2 console 运行命令 docker run -d --name iblog --restartalways -p 8080:8080 -e consoletrue …

Python-OpenCV中的图像处理-图像直方图

Python-OpenCV中的图像处理-图像直方图 图像直方图统计直方图绘制直方图Matplotlib绘制灰度直方图Matplotlib绘制RGB直方图 使用掩膜统计直方图直方图均衡化Numpy图像直方图均衡化OpenCV中的直方图均衡化CLAHE 有限对比适应性直方图均衡化 2D直方图OpenCV中的2D直方图Numpy中2D…

物联网和不断发展的ITSM

物联网将改变社会,整个技术行业关于对机器连接都通过嵌入式传感器、软件和收集和交换数据的电子设备每天都在更新中。Gartner 预测,全球将有4亿台互联设备投入使用。 无论企业采用物联网的速度如何,连接设备都将成为新常态,IT服务…

前后端分离------后端创建笔记(05)用户列表查询接口(上)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

泛微 E-Office文件上传漏洞复现

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…

DIP:《Deep Image Prior》经典文献阅读总结与实现

文章目录 Deep Image Prior1. 方法原理1.1 研究动机1.2 方法 2. 实验验证2.1 去噪2.2 超分辨率2.3 图像修复2.4 消融实验 3. 总结 Deep Image Prior 1. 方法原理 1.1 研究动机 动机 深度神经网络在图像复原和生成领域有非常好的表现一般归功于神经网络学习到了图像的先验信息…

突破大模型 | Alluxio助力AI大模型训练-成功案例(一)

更多详细内容可见《Alluxio助力AI大模型训练制胜宝典》 【案例一:知乎】多云缓存在知乎的探索:从UnionStore到Alluxio 作者:胡梦宇-知乎大数据基础架构开发工程师(内容转载自InfoQ) 一、背景 随着云原生技术的飞速发展&#xff…

R语言ggplot2 | R语言绘制物种组成面积图(三)

📋文章目录 面积图简介准备数据集加载数据集数据处理数据可视化 利用R语言绘制物种组成图。本文以堆叠面积图的方式与大家分享。 面积图简介 面积图又叫区域图。它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充&…

汇编知识点之磁盘文件存取技术

1.文件代号式磁盘存取 (1)两个重要的表 (2)简要说明: 文件代号式存取方式将有关文件的各种信息都包括在DOS中。 在处理指定文件时必须使用一个完整的路径名,一旦文件的路径名被送入操作系统,就被赋予一个简单的文件…

Android布局【RelativeLayout】

文章目录 介绍常见属性根据父容器定位根据兄弟组件定位 通用属性margin 设置组件与父容器的边距padding 设置组件内部元素的边距 项目结构主要代码 介绍 RelativeLayout是一个相对布局,如果不指定对齐位置,都是默认相对于父容器的左上角的开始布局 常见…