禁止横竖屏

Android VirtualDisplay的用法和遇到的点击事件问题 前言 最近在看Android 多屏相关的问题,初步接触到了DisplayManager的一些东西,发现网上资料较少,自己学习到的总结一下。 阅读详情


一,获取手机屏幕分辨率:

DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;//屏幕宽度
int height = dm.heightPixels;//屏幕高度
复制代码

二,setRequestedOrientation 设置屏幕方向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//通过程序改变屏幕显示的方向
     1.landscape:横屏(风景照) ,显示时宽度大于高度;
     2.portrait:竖屏 (肖像照) , 显示时 高 度大于 宽 度 ;
     3.user:用户当前的首选方向;
     4.behind:继承Activity堆栈中当前Activity下面的那个Activity的方向;
     5.sensor:由物理感应器决定显示方向,它取决于用户如何持有设备,当 设备 被旋转时方向会随之变化——在横屏与竖屏之间;
     6.nosensor:忽略物理感应器——即显示方向与物理感应器无关,不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外);
     7.unspecified :未指定,此为默认值,由Android系统自己选择适当的方向,选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择;


====================================================================================================================================

摘一:
在开发游戏的时候,有些游戏是只能横屏玩的,所以手机竖立放置的时候,要保持游戏画面依然横屏。游戏开发之初最好就确定是用横屏还是竖屏,如果容忍转屏的话,不仅需要作两种界面布局,而且横竖屏切换很可能会内存溢出,导致程序崩溃。(文/jackliao)

要做到这个要求其实很简单,在AndroidManifest.xml里面配置一下就可以了。加入这一行
强制竖屏:

 


Java代码
1.android:screenOrientation="landscape"
android:screenOrientation="landscape"


或者在代码中:

 

 

Java代码
1.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


强制横屏:

 


Java代码
1.android:screenOrientation="portrait"
android:screenOrientation="portrait"


或者在代码中:

 

 

Java代码
1.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

 

摘二:
xml文件中设置:

  要实现这个目的,只需要在AndroidManifest.xml里声明Activity的时候加上一个属性:android:screenOrientation,属性取值landscape为固定横屏、portrait为固定纵屏幕。

  代码:

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//强制为横屏

  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏

  ============延伸========

  屏幕会自动切换时,默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适配的问题。为了解决旋屏和键盘切换引起的程序重启问题,还需要增加一个属性:android:configChanges。这个属性可以理解为一个监听器,它将拦截旋屏和键盘切换事件,阻止程序重启而变为回调onConfigurationChanged方法。这里常用的属性取值为:keyboardHidden|orientation。


摘三:
Android 设置横屏模式显示,横屏模式大部分情况能弥补竖屏的不足——字体小、键盘小、画幅比例不合适,而且横屏模式下能提供更华丽、更流畅的感官体验,android 横屏,android landscape mode ,android 强制横屏,android 强制竖屏,android 横屏布局,android 设置全屏模式,android 横屏切换,android 设置横屏。

有些游戏只能横屏,所以手机竖立放置的时候,要保持游戏画面依然横屏,对于屏幕界面布局,在游戏开发之初最好先确定是用横屏还是竖屏,如果容忍转屏的话,不仅需要作两种界面布局,而且横竖屏切换很可能会内存溢出,导致程序崩溃。

Android 设置横屏布局

1、AndroidManifest.xml 设置属性:

 


Java代码
1.android:screenOrientation="landscape"
2.android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"


代码中设置:

 


Java代码
1.requestWindowFeature(Window.FEATURE_NO_TITLE);
2.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);


2、设置为全屏模式:

 


Java代码
1.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


3、强制为横屏:

 


Java代码
1.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


4、强制为竖屏

 


Java代码
1.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

 
 

OpenWRT软件源更换保姆级教程:从国内镜像到官方源一键切换(含常见报错解决) 本文提供OpenWRT软件源更换的详细教程,涵盖从国内镜像源到官方源的切换方法,并深度解析常见报错解决方案。针对国内网络环境,指导用户如何精准定位系统信息、备份配置、选择并配置清华等国内镜像源,以及处理签名验证失败、依赖缺失、404错误等典型问题,旨在提升软件包管理效率与稳定性。 阅读详情

相关推荐

RedHat 9 替换yum源镜像

引言:我们个人通常使用的红帽系统yum源是需要注册付费的,所以在使用yum源安装一些软件时无法正常安装(例如:MySQL),这时我们就需要将yum源替换为CentOS对应的源,以实现在红帽系统中正常安装软件。

YUJIAOZHU666的博客 3739

Android Graphics 显示系统 - VirtualDisplay的初印象 - 简单示例

VirtualDisplay的初印象 - 简单示例

向晚流年 3657

Ubuntu20.04 安装 MATLAB R2023b 常见问题及解决方案

本文提供了Ubuntu20.04系统上安装MATLAB R2023b的完整指南,包括系统要求检查、依赖项安装、详细安装步骤及常见问题解决方案。特别针对GTK模块加载失败、OpenGL图形加速问题和中文显示乱码等常见问题提供了有效解决方法,帮助用户顺利完成安装并优化使用体验。

weixin_42619061的博客 487

android 检测屏幕方向,Android屏幕方向的一些问题

我们要设置屏幕的方向,当然先需要判断屏幕的方向,下面提供两种方法:1, DisplayMetrics dm = new DisplayMetrics(); //显示的度量getWindowManager().getDefaultDisplay().getMetrics(dm); //必须调用,window才会赋值给dm(或者DisplayMetrics dm = getResources()...

weixin_42306002的博客 931

国产NAS哪家强?极空间&绿联&威联通&群晖对比

随着个人数据量暴增,传统网盘空间不足和下载速度慢问题愈发凸显。新势力NAS,作为数据管理领域的璀璨新星,正以其独特的互联网设计理念,引领家庭及小型办公用户向数据存储的新纪元。它不仅仅是一款产品,更是为初学者用户量身定制的贴心伙伴。其系统界面之简洁、操作流程之直观,让人一目了然,真正实现了“即插即用”的极致便捷。同时,新势力NAS在保持专业水准的同时,更提供了多样化的扩展性配置,轻松应对各种数据存储与管理需求,让家庭及小型办公场景下的数据管理变得前所未有的简单与高效。

专注大数据、云计算、人工智能、机器人领域技术传播 3649

核心组件大换血:Backbone与Neck魔改篇:YOLO26结合StarNet结构:2026星状网络在YOLO生态的即插即用实战

本文将介绍如何将StarNet作为Backbone替换YOLO26原生架构,以提升边缘设备上的目标检测性能。文章首先分析了YOLO26在特定场景下的精度瓶颈,指出其通用Backbone设计存在不足。随后深入解析StarNet的核心创新——星操作(Star Operation),这一低维计算却能获得高维特征表达的数学魔术,以及其极简的StarBlock模块设计。通过对比YOLO26原生架构的三大创新与痛点,作者提出两种替换策略:完整替换Backbone或局部替换+Neck联调。文中提供了StarNet核心代码

ZDQ58818的博客 290

android landscape的角度

/screenOrientation="landscape", 0 270硬件屏幕角度下的landscape为0;90 180屏幕角度下的landscape为180。经测试后发现landscape的方向在不同旋转角度下是不同的。需求:在屏幕硬旋转后,需要保持布局为0角度下的横屏状态。//处理landscape,防止布局错乱。

西决的博客 375

2025年“区块链技术”职业院校技能大赛赛后复盘与总结(必看)

记录一次2025年“区块链技术”职业院校技能大赛的参加经验总结与赛后复盘

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1994

rk3288android强制横屏,rk3288 android6.0 hdmi显示横竖屏切换方法

rk3288 android6.0 hdmi显示横竖屏切换方法android hdmi显示横竖屏主要是通过persist.demo.hdmirotation和ro.sf.hwrotation这两个属性值来控制的 。其中 persist.demo.hdmirotation这个属性值是rockchip平台添加的属性值。persist.demo.hdmirotation可以赋值portrait(竖屏)或...

weixin_39834984的博客 774

lammps蒙特卡洛MC模拟案例

在lammps中,和MC相关的模拟命令有三个:fix gcmc、fix atom/swap、fix sgcmc。在一个lammps模拟中,mc和md可同时存在,间隔运行,所以设置fix sgcmc命令的同时,可以同时设置系综(nve、nvt或者npt)。lammps官网自带案例中也有一个fix sgcmc的案例,主要模拟FeCu合金的MC建模。sgcmc命令可应用到合金的模拟中,如短程有序模拟。MC运行间隔为100步,最终的浓度比例为0.02,也就是2%的Fe原子交换为Cu原子。大家好,我是小马老师。

lammps_jiayou的博客 1827

STM32开发笔记85: SX1268驱动程序设计(芯片唤醒)

单片机型号:STM32L053R8T6 本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍芯片唤醒驱动程序。 一、RxDutyCycle模式 在讲述本篇内容之前,我们先来看一下SX1268的一种模式RxDutyCycle,译为中文为接收占空比模式。其可使用SetRxDutyCycle命令进入RxDutyCycle模式,我们来看一下该命令的详细解释。 该命令具有2个参数,...

snmplink的博客 4068

Android禁止横竖屏切换或禁止横竖屏切换时重启Activity

Android禁止横竖屏切换或禁止横竖屏切换时重启Activity 我们做项目的时候可能由于某种原因(比如,只做了横屏或竖屏的布局适配)而不想让Android屏幕进行切换。还有时候我们允许Android屏幕进行切换但不想让该界面的操作(如获取网络数据)在横竖屏切换时再重复执行。我们可以通过在AndroidManifest.xml文件中对相应的Activity设置相应的属性即可。下面介绍这两种情况

_Vanm 802

【华为OD机考真题】- 构成的正方形数量(B卷-100分)(Java版)

🔔本文收录于「最新最全华为OD机试真题(Java版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!专栏所写题库均精心搜集于互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验所撰,欢迎订阅。    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新

**My Coding Family** 1349

activity禁止横竖屏切换

1,禁止横竖屏切换 在配置文件中写死 [java] view plaincopy android:screenOrientation="landscape"   android:screenOrientation="portrait"   2,横竖屏切换不重启Activity 在配置文件中声明程序自己处理,在onC

permike的专栏 805

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

禁止横竖屏切换;横竖屏切换不重启Activity;动态设置横竖屏

1,禁止横竖屏切换 在配置文件中写死 [java] view plaincopy android:screenOrientation="landscape"   android:screenOrientation="portrait"   2,横竖屏切换不重启Activity 在配置文件中声明程序自己处理,在onC

permike的专栏 1255

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

在Android里禁止横竖屏是否搞错了什么

最近有个小需求,需要禁止指定的fragment进行横竖屏切换。 由此引出了本文,算是对该需求知识点的一个小结。 首先简单的说下一般横竖屏切换的基本操作。网上的博客大多数都是针对activity做的,即禁止当前activity。至于说横竖屏切换后生命周期的变化或如何解决由于横竖屏切换导致需要保存数据的问题,已有很多前辈高手去写,这里不再累述。确实有需要,请留言,菜鸡会在本文末尾进行补充说明。 ...

Tomes.V.White 672

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android 修改apk禁止旋转默认横竖屏

修改apk禁止旋转默认横竖屏

2403_89301341的博客 751

android中禁止横竖屏切换

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33736832的博客 601

android 禁止横屏,Android笔记----禁止横竖屏切换

Android笔记----禁止横竖屏切换发布时间:2020-04-18 06:44:43来源:51CTO阅读:416作者:未来程序员在Android中要让一个程序的界面不随手机方向转动而产生横竖屏切换的方法: 只要在AndroidManifest.xml里面配置就可以了。在AndroidManifest.xml的activity配置中加入android:screenOrientation=”lan...

weixin_33721696的博客 1599

与屏幕有关的设置:禁止横竖屏切换;横竖屏切换不重启Activity;动态设置横竖屏

1,禁止横竖屏切换 在配置文件中写死

dtnqy的专栏 2347

android activity 禁止进行横竖屏切换

Android Activity 禁止进行横竖屏切换指南 作为一名刚入行的开发者,你可能会对如何禁止Android Activity进行横竖屏切换感到困惑。本文将为你提供详细的步骤和代码示例,帮助你快速掌握这一技能。 步骤概览 以下是实现禁止Android Activity横竖屏切换的步骤概览: 步骤 描述 ...

weixin_34449886的博客 632

禁止横竖屏切换、强制横竖屏:

js判断屏幕横竖屏:function orient() {//alert('gete');if (window.orientation == 0 || window.orientation == 180) {$("body").attr("class", "portrait");orientation = 'portr...

weixin_30551963的博客 118

Android 禁止横竖屏切换、设置横屏

<activity android:name="com.bokecc.sdk.mobile.QuestionActivity.QuestionSingleChoiceActivity" android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidde

feather(猎羽) 971

禁止横竖屏切换、强制横竖屏

js判断屏幕横竖屏: function orient() { //alert('gete'); if (window.orientation == 0 || window.orientation == 180) { $("body").attr("class", "portrait"); orientatio...

iteye_1372的博客 537

【Android如何禁止横竖屏切换】

Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我们可以对手机的横竖屏切换进行关闭,操作界面如下   只需要点击下“屏幕旋转”按钮就可以关闭横竖屏切换了。 一、禁止APP内横竖屏切换 上述设置更改的是整个手机的横竖屏切换,当手机没有关闭横竖屏切换功能时,系统一旦触发横竖屏切换,缺省状态下,当前活动的App的界面

jsnb001的专栏 3618
上一篇: Android学习笔记之AndroidManifest.xml文件解析
下一篇: isTablet判断是否为平板
androidboy365
博客等级 码龄16年 35粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值