android实现自动横竖屏切换,android 中实现横竖屏切换【原创】

我们在使用android手机的时候,发现一些应用有横竖屏切换的功能,一般实现有以下几种方法:

一、设置

1.通过XML设置横竖屏切换

在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,它有以下几个参数:

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

“landscape” 横屏显示(宽比高要长)

“portrait” 竖屏显示(高比宽要长)

“user” 用户当前首选的方向

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

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

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

2.通过代码设置

在Java代码中通过

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

二、关于布局显示

配置布局的方法有2种,如下:

1.在res目录下建立layout-land和layout-port目录,相应的layout文件名不变。layout-land是横屏的layout,layout-port是竖屏的layout,代码运行后,JVM会自动寻找相应的布局文件。

2.通过this.getResources().getConfiguration().orientation来判断当前是横屏还是竖屏然后来加载相应的xml布局文件。

当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,即重新载入当前Activity。所以,可以通过判断横竖屏转换来更换布局文件。

三、重新载入

重新载入,即上面提到的转换屏幕时,系统重新呼叫OnCreate方法。由于重新创建Activity,当前屏幕状态下的临时数据会丢失,所以这里有一个关于数据存储的问题。

1.是否重新载入可以设置

设置方法:在androidmanifest.xml中加入配置

android:configChanges="orientation"。

配置该属性后的Activity在运行时,就不会重复的调用onCreate(),甚至不会调用onPause.onResume.只会调用一个

onConfigurationChanged(Configuration newConfig)

2.如果需要重新载入,那么就需要存储临时数据,可以根据Android的相关数据存储方法处理。

如果要彻底禁止翻转,可以设置android:screenOrientation的属性为nosensor,如此就可以忽略重力感应了。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/5383.html

75d087ef9a9fb11dc373caaf33adbf7f.png

微信打赏

支付宝打赏

感谢您对作者Lena的打赏,我们会更加努力!    如果您想成为作者,请点我

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

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

相关文章

超级管理器Android,超级文件管理器app

详情超级文件管理器app,一款帮助你管理手机内存的软件,还可以重命名,移动,删除文件,在Android平台上完美运行,并能够与其他OI系列软件结合使用! 能快速地查找到目标文件,十分方便用户管理自己手…

android miui ios,从iOS到Android——小米11及小米生态实际使用体验

从iOS到Android——小米11及小米生态实际使用体验2021-02-22 15:29:5693点赞155收藏131评论创作立场声明:文中的设备均为自购,无任何特定立场。2021年2月10日,我的iPhoneX手机突然黑屏,拿到Apple Store检测,经诊断是屏…

p50会搭载鸿蒙吗,华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路

原标题:华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路!华为P50Pro的机身部分后置摄像头模块的外观有发生了改变,可以看到华为P50Pro并没有将所…

linux将db2账户添加到组_超实用的shell脚本--Linux安全加固设置,值得收藏

概述近几年来Internet变得更加不安全了。网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。 只要有值得偷窃的东西就会有想办法窃取它的人。Internet的今天比过去任何时候都更真实地体现出这一点…

迷你世界无人驾驶地铁火车_出口伊斯坦布尔地铁列车“云下线”

轨道世界 RailWorld开放|共享|价值导读 ID:RailWorld出口伊斯坦布尔地铁列车“云下线”全自动无人驾驶,全寿命远程跟踪、诊断和维护,全车内循环感应系统,极具土耳其风情的外观及内饰……7月14日&#xff0c…

java: 程序包com.github.pagehelper不存在_Rust语言正在兴起,Java、Python、C的末日来临?...

您可能从未用Mozilla创建的开源,系统级编程语言Rust编写任何东西,但是您可能会在某个时候写。在Stack Overflow的2019年开发人员调查中,开发人员将Rust评为“最受欢迎的”语言,而Redmonk在半年的语言排名中,Rust 跻身前…

惠安七号机器人创意园_我是F518创意园,请为我投票!

春去秋来,一个轮回又一年。“ 你知道F518创意园开园多久了吗?对的,13年!”作为深圳实施“腾笼换鸟”首批项目和深圳申请联合国科教文组织“设计之都”重要组成部分,我们开园至今已经13年了!白驹过隙&#x…

c++ 获取文件夹创建时间_手把手教学免费创建个人网站

点击蓝字关注我们可以不成材 不能不成长!给大家分享一个非常有用的skill——在GitHub上免费创建个人网站。什么是GitHubGitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。在GitHub上…

量子计算机通用程序,基于拓扑量子纠错码的量子计算机,量子计算机程序具有通用性?...

不管量子计算机的内部是由什么组成,量子计算机的快速计算都可以归结为应用于量子比特的简单指令序列,即量子计算机内部的基本信息单位。无论这台计算机是由离子链、超导体结还是硅片组成,事实证明,一次只影响一个或两个量子比特的…

中兴f650是千兆的吗_装宽带送的光猫自带WiFi功能,我还需要买路由器吗?

想必很多家里装过宽带的朋友都想过一个问题,网线入户需要一个光猫,还需要一个路由器,可不可以将两个设备合二为一,或者只用光猫发射WiFi信号行吗?其实是可以的,但为了更好的体验教授建议还是不要这样做。设…

平移刚体上各点的加速度和速度_物理-力学|第七讲|刚体力学

刚体运动学刚体模型刚体是一个特殊的质点系, 刚体上任意两质点间距离保持不变。刚体模型可以看成是现实中劲度系数极大的物体的抽象化,这类物体本身的形变对其运动的影响可以忽略,比如一个篮球,当其与地面碰撞时必然会产生形变&am…

改变定时器获取传感器频度_称重传感器在高速定量分装系统的应用

高速定量分装系统由微机控制称重传感器的称重和比较,并输出控制信号,执行定值称量,控制外部给料系统的运转,实行自动称量和快速分装的任务。  系统采用MCS-51单片机和V/F电压频率变换器等电子器件,其硬件电路框图如图…

c++没有终结符的多行输入如何停止_如何使用iloc和loc 对Pandas Dataframe进行索引和切片...

在这篇文章中,我们将使用iloc和loc来处理数据。更具体地说,我们将通过iloc和loc例子来学习切片和索引。一旦我们将一个数据集加载为Pandas dataframe,我们通常希望根据某些条件开始访问该数据的特定部分。例如,如果我们的数据集包…

手机发电脑邮箱未开启服务器,手机邮箱无法发送和接收邮件时发生了什么

你好!您是2113,是通过手机自己的电子邮件添加5261邮箱4102吗?我介绍了QQ邮箱的添加,您必须打开接收1653并发送服务.您可以在设置---添加帐户中找到邮件首先,您需要登录到邮箱的Web版本,并在帐户中设置设置P…

android 上下数字滚动_原来PPT数字还有这么高大上的展示方式

数字,是PPT当中非常重要的元素,说明价格、呈现销量、展示性能等等多种场合都有使用,数据也是PPT当中最直观的表现形式。那么,PPT当中的数字要怎么表现才显得高逼格呢?在这里介绍一个小技巧:动态滚动展示。先…

kettle中过滤记录中时间_Kettle中Step:Text file outpout功能

${Internal.Transformation.Filename.Directory}/上面的办法是在当前Transformation下生成文件路径。导出的数据不被Tableau认可,这比较奇怪,虽然用编辑器打开都在。在某个案例中看到,在导出的标题中有Excel的换行,取得后没有改。…

quill鼠标悬浮 出现提示_「超逸酷玩」VT300S RGB电竞游戏鼠标支持云同步自定义设置...

说到鼠标大家一定不会陌生,根据大家使用环境的不同,对于鼠标体验需求也在逐步提升,在游戏方面虽然市面上也推出很多无线鼠标产品,但是有线电竞鼠标硬件设计和软件功能上还是有很大的优势,雷柏VT300S是一款RGB电竞鼠标&…

风之大陆 服务器不稳定,《风之大陆》手游官网——异世界奇幻冒险MMO手游

勇敢的守护者:为给您提供更好的游戏体验,游戏服务器将于2021年5月20日6:00起进行更新维护本次更新维护预计需要60分钟,根据维护进度可能提前或延迟开服。在服务器维护期间,您将无法登入游戏,请您及时下线,以…

catia测量工具小尺子在哪_小区垃圾桶旁捡来旧茶几,老爸巧手改成沙发,邻居一个劲问哪买的...

前几天老爸在小区垃圾桶旁边捡回来一个旧茶几,又脏又破都掉漆了,捡回来用不了还占地方,他却非说要动手将它改成个小沙发。那么麻烦还不如直接买一个,但最后改出来的效果还不错,关键是便宜,不到50块钱比定制…

numpy创建三维空数组_numpy数组的创建和属性转换

一、数据与numpy数组的创建1、 python数组的创建python中的固定类型数组:python中提供了几种将数组存储在有效的、固定类型的数据缓存中的选项。内置的数组(array)模块可以创建按统一类型的密集数组:这里的“i”表示的是一个数据类…