Android基础篇 屏幕横竖屏切换(layout-land)下篇

article/2025/7/21 13:08:08

默认情况下Activity进行屏幕旋转会自动进行onDestroy并重新onCreate

一、非默认情况下

在AndroidManifest.xml的Activity中配置

    <activityandroid:name=".ui.activity.XXXXXActivity"android:launchMode="singleTask"android:screenOrientation="portrait"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="adjustPan" />

(1)禁止屏幕旋转

  //始终竖屏android:screenOrientation="portrait"//始终横屏android:screenOrientation="landscape"

(2)Activity跟随旋转但不销毁和重启

  android:configChanges="keyboardHidden|orientation|screenSize"

然后在Activity中重写onConfigurationChanged方法
(仅作为监听屏幕横竖屏状态,吐司提示,可以不要)

  @Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){Toast.makeText(this,"竖屏模式",Toast.LENGTH_SHORT).show();}else{Toast.makeText(this,"横屏模式",Toast.LENGTH_SHORT).show();}}
public static final int ORIENTATION_PORTRAIT = 1;  // 标识竖屏
public static final int ORIENTATION_LANDSCAPE = 2; //标识横屏

二、通过 layout-land 构建专属的横屏布局模式

1、首先在工程res目录下新建一个layout-land
在这里插入图片描述

2、其次在layout-land目录中新建一个同名但是是横屏效果的布局
在这里插入图片描述
3、代码

   @Overridepublic void onClick(View view) {//按钮控制切换横竖屏  R.id.img_rotate : 自己定义的一个按钮if (view.getId() == R.id.img_rotate){int screenNum = getResources().getConfiguration().orientation;//判断屏幕当前状态if (screenNum != Configuration.ORIENTATION_LANDSCAPE){//切换成横屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}else {//切换成竖屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}}}

按照上面的流程,构建需要横屏效果的layout-land目录布局,就可以达到有效解决屏幕横竖屏切换啦

三、其他系列文章

Android基础篇 屏幕横竖屏切换以及生命周期管理 上篇
https://blog.csdn.net/weixin_44720673/article/details/114628214


http://chatgpt.dhexx.cn/article/t57uiFEe.shtml

相关文章

Android屏幕共享解决方案

屏幕共享是增强互动体验&#xff0c;提高沟通效率的重要功能。以下是一些实现Android屏幕共享的解决方案&#xff1a; 1、使用视频通话功能&#xff1a;在Android中&#xff0c;可以使用视频通话功能实现屏幕共享。通过视频通话&#xff0c;可以将自己的屏幕内容以视频的方式分…

让div居中的方式的几种方法

让div水平居中的方式的几种方法。 文章目录 一、margin二、绝对定位三、子元素绝对定位父元素相对定位四、flex布局总结 一、margin 第一种方式我们可以利用外边距属性来使div水平垂直居中 先来看一段有问题的代码 <!DOCTYPE html> <html lang"en"> &…

html网页图片和文字水平居中垂直居中显示

关注公众号&#xff1a;”奇叔码技术“ 回复&#xff1a;“java面试题大全”或者“java面试题” 即可免费领取资料 下面代码一致&#xff1a;示例 自己做的网站效果示例 div相对于页面水平居中显示&#xff1a; 核心代码&#xff1a;margin&#xff1a;0 auto&#xff1b;…

Android 双屏异显(Presentation) 开发,将第二个页面投屏到副屏上

1. 背景 最近开发的一个项目&#xff0c;有两个屏幕&#xff0c;需要将第二个页面投屏到副屏上&#xff0c; 这就需要用到Android的双屏异显(Presentation)技术了&#xff0c;研究了一下&#xff0c;这里做下笔记。 我们那个副屏是一块汽车的后视镜(流媒体后视镜)&#xff0c;…

父子div元素水平垂直居中的七种方法

效果样式图如下: 方法一:利用定位和transform的方法来进行居中 说明&#xff1a;首先利用定位中的子元素绝对定位和父元素相对定位的方法来,top:50% 和left:50%会使子元素在父元素中向下移动250px,向右移动250px,子元素因自身有高度和宽度,这会导致子元素不能完全居中的情况,t…

用户体验思考与flex三坑:元素不均分、溢出不省略和垂直不滚动

flex已经越来越成为前端不可避免的话题。曾经为了搞清flex的原理偶然画了一张图。但后来发现只是冰山一角。 在某些你想实现的交互效果中使用flex后可能会发现并不起作用。通过我的实践&#xff0c;大致有三个问题&#xff1a;子元素不平分父元素空间、对文字设置了溢出省略却…

DIV居中的经典方法

参考&#xff1a;https://www.cnblogs.com/rubykakas/articles/7992662.html 1. 实现DIV水平居中 设置DIV的宽高&#xff0c;使用margin设置边距0 auto&#xff0c;CSS自动算出左右边距&#xff0c;使得DIV居中。 div{width: 100px;height: 100px;margin: 0 auto; } 缺点&…

局域网屏幕共享_给安卓手机连一个大屏幕——多端协作(六)

好久不见,时下情势严峻,我们这儿封村了,生活变得更加不方便了。本来在网上买了肉,等到终于发货送到县城,我却不能进城去取了…… 希望顺丰营业点有冰箱,我的肉不会坏掉 今天给大家介绍的是Android系统的无线投屏功能,简单来说就是将支持的设备作为安卓手机的外接屏幕,以…

安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)

系列博文&#xff1a; &#xff08;1&#xff09;安卓手机与蓝牙模块联合调试&#xff08;一&#xff09;——蓝牙模块的串口通讯 &#xff08;2&#xff09;安卓手机与蓝牙模块联合调试&#xff08;二&#xff09;—— 单片机蓝牙控制LED灯亮灭&#xff08;上&#xff09; …

android 多屏幕显示activity,副屏,无线投屏

目录 1. 首先&#xff0c;需要一个副屏 1. 1 可以通过代码的形式自己创建VirtualDispaly ,创建副屏。 1.2 或者&#xff0c;在手机的开发者模式中直接开启模拟副屏&#xff0c;也是可以的。 2.0 怎么利用这个副屏幕&#xff1f; 2.1 用作 presentation 演示ppt&#xff1…

【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕

回去看看老家是不是还有旧平板电脑&#xff0c;可以跨设备&#xff0c;共享屏幕哦 一些远程控制软件&#xff0c;诸如&#xff1a;TeamViewer、AnyDesk等。 但是这次我要介绍的是 一款远程显示软件&#xff0c;甚至可以理解成一款简易的KVM系统。 虽然市面上许多远程控制软件…

Android设备之间投屏功能实现

简介 简单实现两个android设备之间的投屏功能。设备间通信是通过局域网&#xff0c;需要连接同一个wifi。 录屏用到系统的MediaProjection&#xff0c;MediaProjectionManager&#xff0c;而编解码用的是MediaCodec&#xff0c;所以设备需要有DSP芯片&#xff0c;大部分手机应…

CSS实现垂直居中的5种方法

第一种 position定位margin负距离 前提是知道居中元素的宽高&#xff0c;首先给居中元素定位&#xff0c;之后设置margin的负距离为具体宽高的一半便可达到垂直居中效果 <style>.box1 {height: 300px;width: 300px;border: 10px solid pink;position: relative;}.box2 {…

在html中如何使div在页面中居中显示

在html中如何使div在页面中居中显示 最近无聊中又再温习了下html,发现好多东西都忘了。尝试着写了一个html网页&#xff0c;结果就连div如何在页面中居中显示都查了好久才弄出来。其实我不知道为什么这样可以实现&#xff0c;因为css还没仔细研究过&#xff0c;等我参加完复试定…

实现div里的img图片水平垂直居中

body结构 <body><div><img src"1.jpg" alt"haha"></div> </body>方法一&#xff1a; 将display设置成table-cell&#xff0c;然后水平居中设置text-align为center&#xff0c;垂直居中设置vertical-align为middle。 <s…

程序运行的错误

程序的运行当可能会出现的问题 没有找到文件&#xff0c;可能是相应的文件没有编写&#xff0c;或者文件名输入的有错误 程序运行可能会出现500的错误&#xff0c;错误原因大概有&#xff0c;下面几种

小程序错误

小程序报错1&#xff1a;unknown: Unexpected token, expected “,” [ appservice 生成错误] pages/page04/page04.js: file: pages/page04/page04.js unknown: Unexpected token, expected “,” (25:4) 错误原因&#xff1a;没有逗号。 小程序报错2 设置 enable-flex 属…

winword.exe应用程序错误0xc0000142

正常使用Word&#xff0c;关机再开机&#xff0c;发现提示错误“winword.exe应用程序错误0xc0000142”&#xff0c;有效解决方法 1、winR&#xff0c;输入CMD 2、输入sfc/scannow 注&#xff1a;sfc/scannow&#xff1a;立即扫描所有受保护系统文件的完整性&#xff0c;并尽可…

解决devenv.exe应用程序错误,应用程序发生异常

解决devenv.exe应用程序错误&#xff0c;应用程序发生异常 打开VS2008/2010时&#xff0c;经常碰到:devenv.exe应用程序错误&#xff0c;应用程序发生异常&#xff0c;造成的原因是多种的&#xff0c;可能是环境变量配置出错&#xff0c;可能是你安装了冲突的插件&#xff0c;如…

添加或删除程序 rundll32.exe-应用程序错误

rundll32.exe-应用程序错误 点击开始-运行&#xff0c;输入 “cmd”&#xff0c;单击确定。 在打开的命令提示符窗口中依次输入第三步中的命令复制&#xff0c;然后粘贴到命令提示符窗口中运行。 regsvr32 Appwiz.cpl regsvr32 Jscript.dll regsvr32 Mshtml.dll regsvr32…