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

news2024/12/23 10:32:41

如题所问,我最近遇到一个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" 。问题就解决了。

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

之前有查阅的如下:

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

安卓 屏幕旋转 - 自由资讯

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPv6项目开发测试记录

一、环境 1、网口 IPv6地址 fd00:0:0:1::15 子网前缀长度 64 网关地址(非必须) fd00:0:0:1::1 二、云环境、面板机连云测试 1、面板机设置IPv4地址后可以访问fd00::100这个地址 2、初始化时候服务器地址输入匹配正则式:IPv6地址匹配正则…

基因型比值比(genotypic odds ratio)和等位基因比值比(allelic odds ratio)的计算

基因型比值比(genotypic odds ratio)和等位基因比值比(allelic odds ratio)是两个不同的概念。一般而言,通过PLINK、GCTA等工具计算得到的比值比指的是等位基因比值比。 以下是基因型比值比和等位基因比值比的各自计算…

8月12日上课内容 综合配置详解 四层+七层代理

后续内容概述: Ivs集群: keepalive:vip实现代理高可用 NAT VPN DR (DR最常用) 数据库:增制改查 备份 高可用 主从复制 读写分离 DBA 市场量小,从业者不多,工资一般般。 中间件: redis.* 分布式存储: ELK日志分析。kafka消息队列 监控zabb…

知识分享:如何将一张图片转换成短链接?

今天我们要分享的知识是:如何将一张图片转换成链接? 之前我们有介绍过在二维彩虹将图片转换成二维码的方法,那么其实将图片转成链接也非常简单!在做电商运营创建商品详情页面、作家为在线小说设置封面图、产品运营、策划活动等等…

IDC报告深度解读:2023年CRM发展趋势分析

近期,国际数据公司(IDC)发布了2022年下半年《中国客户关系管理(CRM)SaaS市场跟踪研究报告》,根据报告显示,2022年下半年中国CRM SaaS市场规模达到 11.6 亿美金,同比增长25.4%,CRM占中国整体SaaS…

SpringCloud初识

微服务架构4个核心问题: 这四个问题围绕这我们去学的一些东西,是重点!!! 1.服务很多,客户端该如何访问? 2.这么多服务,服务之间该如何通信? 3.这么多服务,该如何治理? 4.服务挂了…

Python 基础语法 | 常量表达式,变量,注释,输入输出

常量和表达式 我们可以把 Python 当成一个计算器,来进行一些算术运算 print(1 2 - 3) # 0 print(1 2 * 3) # 7 print(1 2 / 3) # 1.6666666666666665注意: print 是一个 Python 内置的 函数可以使用 - * / () 等运算符进行算术运算,先…

postman接口测试工具的常规使用

postman接口测试工具简介与安装 Postman简介: Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 它提供功能强大的Web API&HTTP请求调试。它能够发送任何类型的HTTP请求(GET,HEAD,POST,PUT..&a…

04-基础入门-WEB源码拓展

基础入门-WEB源码拓展 1、WEB源码拓展(1)关于web源码目录结构(2)关于 WEB 源码脚本类型(3)关于 WEB 源码应用分类 2、演示案例(1)asp、php等源码测试(2)平台识…

我们常说这个pycharm里有陷阱,第三方库导入失败,看这里!

最近有小伙伴遇到了明明安装了 python 第三方库,但是在 pycharm 当中却导入不成功的问题。 ​ 一直以来,也有不少初学 python 的小伙伴,一不小心就跳进了虚拟环境和系统环境的【陷阱】中。 本文就基于此问题,来说说在 pycharm 当…

【leetcode】【图解】617. 合并二叉树

题目 难度:简单 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是&#xf…

基于DBN的伪测量配电网状态估计,DBN的详细原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) DBN的伪测量配电网状态估计 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文将DBN算法伪测量配电网…

leetcode 1171.从链表中删去总和值为零的连续节点

⭐️ 题目描述 🌟 leetcode链接:从链表中删去总和值为零的连续节点 思路: 在链表的 head 前新增加一个哨兵卫的头结点,方便计算前缀和。遍历链表,依次把每个节点的 val 相加到 sum 中去,再判断 sum 0 依…

网络编程(8.14)TCP并发服务器模型

作业: 1. 多线程中的newfd,能否修改成全局,不行,为什么? 2. 多线程中分支线程的newfd能否不另存,直接用指针间接访问主线程中的newfd,不行,为什么? 多线程并发服务器模型原代码&…

认识Transformer:入门知识

视频链接: https://www.youtube.com/watch?vugWDIIOHtPA&listPLJV_el3uVTsOK_ZK5L0Iv_EQoL1JefRL4&index60 文章目录 Self-Attention layerMulti-head self-attentionPositional encodingSeq2Seq with AttentionTransformerUniversal Transformer Seq2Seq …

排查docker无法启动问题

查看Linux系统操作日志(最后200行就可以排查): tail -200f /var/log/messages

什么是证券股票交易接口?(股票交易挂单接口)源码开发步骤

证券股票交易接口是一种可以实现证券交易功能的软件接口,它提供了一组用于交易的函数或方法,可以通过调用这些接口来执行买卖股票、查询账户信息、获取市场行情等操作。证券股票交易接口可以连接到证券交易所或证券公司的交易系统,允许用户通…

SpringBoot基于Zookeeper实现分布式锁

文章目录 问题背景前言实现搭建Zookeeper容器引入依赖ZK客户端的配置类ZK客户端的工厂类注入bean构建测试类 问题背景 研究分布式锁,基于ZK实现,需要整合到SpringBoot使用 前言 参考自SpringBoot集成Curator实现Zookeeper基本操作,Zookeeper入…

d3dx9_37.dll如何修复,d3dx9_37.dll丢失的4种解决方法分享

d3dx9_37.dll是DirectX中的一个动态链接库文件,它包含了一些用于游戏和图形应用程序的函数和资源。当你在运行一个需要使用DirectX的程序时,如果系统中缺少d3dx9_37.dll文件或该文件损坏,就会导致程序无法正常运行。 以下是解决d3dx9_37.dll问…

数字孪生如何实现物理世界和数字世界之间的交互?

在当今数字化时代,技术的飞速发展正在引领着各行各业的变革与创新。其中,数字孪生作为一项令人振奋的前沿技术,正在以惊人的方式实现着物理世界与数字世界的无缝交互。它不仅为企业带来了全新的商机,也为科学研究、生产制造等领域…