android无法自动旋屏,Android 手动设置屏幕方向后不能自动转屏问题

如题,Android在手动设置屏幕方向后不能使用自动转屏了,这是因为手动设置屏幕方向

如:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

相当于在Manifest文件中Activity节点下配置了:

android:screenOrientation="landscape"

这会导致该Activity方向锁定,不能自动转屏。But,手动转屏是可以的,所以我们只需要加上方向改变监听,然后手动转屏,也就达到了自动转屏的目的:

class OrientationEventListenerImpl extends OrientationEventListener {

public OrientationEventListenerImpl(Context context) {

super(context);

}

@Override

public void onOrientationChanged(int rotation) {

Log.i("旋转角度:","rotation = "+rotation);

//以下代码可以根据具体需求去配置

// 设置为竖屏

if (((rotation >= 0) && (rotation <= 45)) || (rotation >= 315)) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}

// 设置为横屏

if(((rotation >= 225) && (rotation <= 315))) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

//设置为横屏(逆向)

if(((rotation >= 45) && (rotation <= 135))) {

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);

}

}

}

然后再注册该监听器,比如在Activity的onCreate()方法中注册:

OrientationEventListenerImpl orientationEventListenerImpl = new OrientationEventListenerImpl(this);

orientationEventListenerImpl.enable();

这样就可以实现自动转屏了。上面代码只实现了在3个方向上转屏,没有写逆向的竖直方向(一般都不会用到这个方向吧),如有需要可以自己加上,角度请自己计算,其方向常量为:

ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT

通过以上的代码,还可以再配合

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

}

就可达到自由控制屏幕显示方向的目的。

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

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

相关文章

vue delete删除json数组_vue面试题总结(二)

“ 关注 前端开发社区 &#xff0c;回复"1"即可加入 前端技术交流群&#xff0c;回复 "2"即可免费领取 500G前端干货&#xff01; 16.vue路由传参数1.使用query方法传入的参数使用this.$route.query接受2.使用params方式传入的参数使用this.$route.params接…

Native Vlan(本征vlan)

本征vlan又叫Native Vlan。Native Vlan是trunk上才有的概念.主要的目的是不丢弃非标记帧.接收方交换机把所有接收到的未标记的数据包转发到Native Vlan中,而不是丢弃.缺省&#xff08;默认&#xff09;时是Vlan1. 所有的帧在trunk中都是打上标记的&#xff0c;也就是tag&#x…

鸿蒙汽车电动尾门工厂,汽车智能电动尾门为什么能成为汽车电子行业“新宠”?...

汽车智能电动尾门为什么能成为汽车电子行业“新宠”&#xff1f;路畅科技智能电动尾门的渠道活动在全国范围内火爆进行&#xff01;御品和畅翼在汽车电动尾门产品迭代的“级数”上“明争暗斗”&#xff01;清联同创掌门人也早早的表明车机、电动尾门两手抓、两手都要硬的企业规…

STP的选举过程

STP的选举过程 一.选举根桥&#xff08;即根交换机&#xff09; 二.选举根端口 三.选举指定端口 四.选举阻塞端口 一.根桥选举依据&#xff1a; 网桥ID 网桥ID(即BID)&#xff1a;由网桥优先级和MAC地址组成。 1.网桥优先级最小 2.交换机的Mac地址最小。&#xff08;越小越优…

ehcache使用_Java 程序员如何使用 Shiro 框架

Java 程序员如何使用 Shiro 框架一、架构要学习如何使用Shiro必须先从它的架构谈起&#xff0c;作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器&#xff0c;它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例&#xff1a;1、使用用户…

各种生成树(stp、rstp、pvst、mstp、msti)概念

PC机和服务器通过交换机相连接&#xff0c;当交换机出现故障导致PC机无法从服务器获取信息就会导致网络无法访问。此时增加冗余链路解决这个&#xff08;单点故障&#xff09;问题&#xff0c;但同时可能会引发广播风暴、多帧复制和MAC地址表不稳定等现象影响网络正常运行。当一…

html加载状态,js等待页面加载完成

页面加载完成后等待一段时间在执行js的方法&#xff0c;时间例如方法&#xff1a; function test(){return 1;} 页面加载完毕事件&#xff1a; window.onload function(){ setTimeout(test,1000);//1000毫秒1秒后执行test方法 } 如果你使用jquery的话可以&#xff1a; $(windo…

mvc5控制器修改html,关于jquery:如何通过对控制器的ajax调用在MVC5中呈现局部视图并返回HTML...

如何使用Ajax加载以HTML呈现的完整部分视图(所以我只设置了div.html)我需要一个Ajax调用来调用控制器操作&#xff0c;它将呈现一个完整的局部视图(红色)&#xff0c;并将其附加到当前加载的视图的末尾&#xff1f;[我知道如何附加到DOM以及如何进行Ajax调用]我需要知道什么是最…

OSPF邻接关系的建立步骤

OSPF邻接关系建立过程剖析 在OSPF网络中&#xff0c;为了交换路由信息&#xff0c;邻居设备之间首先要建立邻接关系&#xff0c;邻居&#xff08;Neighbors&#xff09;关系和邻接&#xff08;Adjacencies&#xff09;关系是两个不同的概念。邻居关系&#xff1a;OSPF设备启动…

为什么说ip协议是无连接协议

为什么ip是面向无连接的协议&#xff1f; 面向无连接 面向无连接是通信技术之一。是指通信双方不需要事先建立一条通信线路&#xff0c;二是把每个带有目的地址的包&#xff08;报文分组&#xff09;送到线路上&#xff0c;由系统自主选定路线进行传输。 IP是面向无连接的。…

html5新增的type类型,html5新增的type类型

html5新增了很多的input类型&#xff0c;省去了前端开发者写javascript&#xff0c;调用插件等一系列麻烦的操作&#xff0c;下面介绍一些新增的类型。注释直接写在HTML代码里了&#xff1a;H5中新增的input标签/*search类型专用于“搜索”&#xff0c;可以在输入后点击“X”直…

html提交表单使用python计算_教你使用Python实现新个税计算器

自从采用新个税计算方法后&#xff0c;每个月发工资你是否真的清楚扣多少税&#xff1f;今天跟大家分享下如何计算&#xff0c;希望大家喜欢。计税方法科普个税方法这里需要知道的知识点&#xff1a;1.个税起征点调到 5000&#xff1b;2.累积预扣法&#xff1a;本期应预扣预缴税…

qos和被qos是什么意思

QoS QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;指一个网络能够利用各种基础技术&#xff0c;为指定的网络通信提供更好的服务能力&#xff0c;是网络的一种安全机制&#xff0c; 是用来解决网络延迟和阻塞等问题的一种技术。 被QoS 说白了就是在网…

html的表单标记格式,HTML表单标签

表单&#xff1a;专门用来搜集用户信息元素&#xff1a;在HTML中 标签、标记、表单都是指HTML中的标签如&#xff1a; a标签、a标记、a元素表单元素&#xff1a;也是HTML中的一些标签&#xff0c;只是它们比较特殊&#xff0c;有特殊的外观的默认的功能表单格式&#xff1a;常见…

axure 小程序 lib_使用maven和fat jar/war运行应用程序的对比

简介上篇文章我们介绍了Spring boot的fat jar/war包&#xff0c;jar/war包都可以使用 java -jar 命令来运行&#xff0c;而maven也提供了mvn spring-boot:run 命令来运行应用程序&#xff0c;下面我们看看两者有什么不同。Spring Boot Maven Plugin上篇文章我们提到了Spring Bo…

VLAN端口转发原则

VLAN端口转发原则 1.Access端口转发原则 当Access端口收到帧时 如果该帧不包含802.1Q tag header&#xff0c;将打上端口的PVID&#xff1b; 如果该帧包含802.1Q tag header&#xff0c;交换机不作处理&#xff0c;直接丢弃。 当Access端口发送帧时 剥离802.1Q tag header…

新版opencv兼容旧版_【标准换版】关于家用和类似用途电器用外置电源适配器、充电器和内置开关电源产品认证执行新版标准的通知...

各相关认证企业&#xff1a;GB4343.1-2018《家用电器、电动工具和类似器具的电磁兼容要求 第1部分&#xff1a;发射》标准&#xff08;以下简称“新版标准”&#xff09;已发布&#xff0c;并将于2020年6月1日实施&#xff0c;新版标准自实施之日起替代GB4343.1-2009标准&#…

html万花筒照片代码,怎样拍出万花筒效果

ipadair相机怎么拍出万花筒的效果我这边是ipad3&#xff0c;不过应该和air差不多&#xff0c;有一个photo booth&#xff0c;里面有个万花筒效果照相&#xff0c;点那个进去照相就好了。制作前的准备工作 尽量使用最简单的工具 1 镜子&#xff1a;你可以去玻璃店购买些镜子的边…

delay 芯片时序output_【第二章 STA概念 上】静态时序分析圣经翻译计划

本文由知乎赵俊军授权转载&#xff0c;知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19本章节介绍CMOS技术的基础知识以及执行静态时序分析所涉及的术语。2.1 CMOS逻辑设计2.1.1 基本MOS结构MOS晶体管(NMOS和PMOS)的物理实现如图2-1所示。源极(source)和漏极(drain)区…

html播放七牛云视频,直传七牛云视频播放商业版【价值199元】

福利&#xff1a;本资源正在众筹中&#xff0c;如贴内有下载链接则已众筹成功可下载资源&#xff0c;否则暂无资源&#xff0c;你可以在官方购买此资源后&#xff0c;用于【交换】魔趣吧内已发布的其他你需要的极品资源&#xff01;这样你既可以买到自己想要的资源&#xff0c;…