Android的screenOrientation设置

首先在AndroidManifest.xml中,对需要设置的Activity加上如下两条属性:

   android:configChanges="orientation|keyboard" (转屏时不重置Activity,
	若设置了此项,则无法为横向和纵向分别设置不同的布局。因为转屏时不会删除并重新加载)
    android:screenOrientation="sensor" (开启重力传感器) 

 转屏函数:

import android.content.pm.ActivityInfo;

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); 
//强制指定纵向 value为5

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT); 
//强制指定反方向纵向 value为9

 重力传感器监测:

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;

public class asd extends Activity{
	SensorManager mManager;
	Sensor mSensor;
	SensorEventListener mListener;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setRequestedOrientation(5);//初始化屏幕方向
	       mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
	       mSensor = mManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
	       mListener = new SensorEventListener() { 
	        public void onAccuracyChanged(Sensor sensor, int accuracy) { 
	          };
	        public void onSensorChanged(SensorEvent event) { 
	         float x = event.values[SensorManager.DATA_X]; 
	         float y = event.values[SensorManager.DATA_Y]; 
	         float z = event.values[SensorManager.DATA_Z]; 
	         setCustomOrientation(x, y, z); 
	        }; 
	       }; 
	       mManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_GAME);
	}
	
	public void setCustomOrientation(float x, float y, float z) { 
		 
		 if(y > 1.5)
		 {
		  //setRequestedOrientation(
		  //	ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
		   setRequestedOrientation(5);
		 }
		 else if(y < -1.5)
		 {
		     setRequestedOrientation(9);
		 }
		};
		@Override  
		protected void onResume() {   
		    super.onResume(); 
		 mManager.registerListener(mListener, mSensor, 
		SensorManager.SENSOR_DELAY_GAME); 
		};

		@Override  
		protected void onPause() {   
		    super.onPause(); 
		 mManager.unregisterListener(mListener); 
		};
}

 

Android屏幕旋转失效?解析screenOrientation与系统设置的优先级冲突 本文深入解析Android开发中screenOrientation与系统设置的优先级冲突问题,详细介绍了屏幕旋转失效的原因及解决方案。通过分析AndroidManifest.xml配置、传感器参数影响及系统设置交互机制,提供动态检测、版本兼容处理等实用方案,帮助开发者实现更精准的屏幕方向控制。 阅读详情

相关推荐

Android竖屏锁定失效?深入解析screenOrientation优先级与系统设置冲突

本文深入解析了Android开发中常见的竖屏锁定失效问题,揭示了`screenOrientation`属性与系统自动旋转设置之间的优先级冲突。通过对比`portrait`、`unspecified`、`user`等不同值的实际行为,文章提供了兼容性最佳的解决方案:建议使用`user`或`unspecified`声明,并配合代码动态监听系统设置,以实现既满足应用需求又尊重用户全局设置的完美竖屏锁定。

pandas7gardener的博客 432

android:screenOrientation属性详解

landscape:限制界面为横屏,旋转屏幕也不会改变当前状态。 portrait:限制界面为竖屏,旋转屏幕也不会改变当前状态。 sensor:根据传感器定位方向,旋转手机90度,180,270,360,界面都会发生变化。 sensorLandscape:(横屏的旋转,不会出现竖屏的现象)根据传感器定位方向,旋转手机180度界面旋转。一般横屏游戏会是这个属性。 sensorPortrait

学无止境 9636

Android XML設置屏幕方向(android:screenOrientation)详解

Android  XML設置屏幕方向(android:screenOrientation)详解 注意:Android只支持270度旋转。 <activity android:name=.MyActivity android:label=@string/app_name android:screenOrientation=portrait> android:screenOrientation设定该活动的方向, 该值可以是任何一个下面的字符串: “unspecified” – 默认值. 由系统选择显示方向. 在不同的设备可能会有所不同. “land

Android screenOrientation 屏幕方向的设定与控制

AndroidManifest.xml中Activity标签中的设定值: android:screenOrientation="landscape"为90度(横屏) android:screenOrientation="reverseLandscape"为270度(反向横屏) android:screenOrientation="sensorLandscape"为90度和270度

daiqiquan的专栏 2万+

人大金仓数据库Kingbase FlySync同步程序安装

Kingbase FlySync同步程序(以下简称 KFS)是面向异地容灾、数据集中共享的场景推出的具备在异构数据平台间实现实时、增量数据同步的工具类产品,主要采用了物理日志解析技术,帮助用户解决不同数据平台的数据间可实现任意方向实时移动流转的问题,并保证此过程中数据不丢失,状态可监控,流转数据量可统计。KFS 需要安装的主要组件有 2 个,分别是后端同步程序和管理控制平台,另外KFS的部署方式也有2种,为分离部署何集中部署•集中部署:KFS与数据库部署在同一机器上。

weixin_44312518的博客 1179

Pytorch.nn.Linear 解析(数学角度)

pytorch.nn.Linear 是一个类,下面是它的一些初始化参数 in_features : 输入样本的张量大小 out_features : 输出样本的张量大小 bias : 偏置 它主要是对输入数据做一个线性变换。 y=xAT+b y=xA^T+b y=xAT+b 这里A是权重矩阵,b是偏置。他们都是根据 in_features 生成 测试代码: m = torch.nn.Linea...

Medlen 1万+

Android 屏幕方向相关,setRequestedOrientation,OrientationEventListener

1 Activity 在AndroidManifest.xml设置方向android:screenOrientation 正向拿着手机(平时正常拿手机)对应角度为0度,此时屏幕为为竖屏,旋转180度,对应角度180度,此时屏幕为反向竖屏; 90时此时屏幕为横屏(用户右侧(正向)横屏拿着手机),屏幕角度为270,此时屏幕为反向横屏。 Android可以利用android:screenOrientat...

lidongxiu0714 2万+

自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤

自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤 1.背景及问题 最近在使用自动化学报latex模板写作业时,一只对latex搞不清楚,网上关于各种版本的latex下载了一堆(比如ctex中文套装方案的各个版本及texlive+texstudio方案,中间还升级了miktex,windet等),发现都未能成功编译出来自动化学报的latex模板,反正开始头很大!!!最后终于没忍住打开了: 自动化学报官网下载模板链接,因为我就要用latex模板(不能服输!)找到的解决方案是:使用

QIANFANGshiwo的博客 7709

Android activity的屏幕显示方向screenOrientation属性设置

Activity在屏幕当中显示的方向。screenOrientation属性值可以是下表中列出的一个值: (在AndroidManifest中对应的activity配置中设置) Value 说明 “unspecified” 默认值,由系统来选择方向。它的使用策略,以及由于选择时特定的上下文环境,可能会因为设备的差异而不同。 “user” 使用用户当前首选的方向。 “behi...

冬无雪的博客 1504

从建模到调参:基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程解析

本文详细解析了基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程,涵盖运动学建模、仿真环境搭建、PID控制器设计与实现等关键环节。通过Simulink仿真和可视化调试技巧,帮助开发者掌握移动机器人运动控制的核心技术,提升轨迹跟踪精度与性能优化能力。

weixin_28717683的博客 243

如何快速下载Gaia DR3星表数据?中国虚拟天文台镜像站保姆级教程

本文提供了一份详细的保姆级教程,指导用户如何通过中国虚拟天文台镜像站高速、稳定地下载Gaia DR3星表数据。文章详细介绍了镜像站的访问地址、数据组织结构,并给出了使用wget、aria2c等工具进行批量下载的实战策略,帮助国内用户避开国际网络延迟,高效获取近20亿颗天体的海量数据。

weixin_29231263的博客 301

Android 设置screenOrientation 一直警告报红

android:screenOrientation="portrait" 报红

hzy670800844的博客 2687

深入解析STM32H743双精度FPU:从配置误区到三角函数加速技巧

本文深入解析STM32H743双精度FPU的配置与优化技巧,涵盖常见误区、三角函数加速及飞控系统应用。通过实测数据展示如何利用FPU提升数学运算效率,特别适合工业控制、无人机飞控等高精度实时应用场景。

weixin_29190651的博客 641

android:screenOrientation横屏竖屏设置

在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。 1 android:screenOrientation="landscape"是限制此页面横屏显示, 2 android:screenOrientation="portrait"是限制此页面数竖屏显示。 andr

proheart的专栏 3764

从打印攻击到视频重放:手把手用OULU-NPU训练你的第一个活体检测模型

本文详细介绍了如何使用OULU-NPU数据集训练活体检测模型,以应对打印攻击和视频重放等安全威胁。通过PyTorch框架,从环境准备、数据加载、预处理到模型架构设计,手把手教你构建一个高效的双流网络,结合CNN和LSTM技术,提升模型在多种攻击场景下的检测准确率。

weixin_29092031的博客 385

Orin 调试GMSL camera 96712手册重点

96712基础理解

乐于分享 9191

android:screenOrientation属性(设置横屏竖屏)

在开发android的应用中,有时候需要限制横竖屏切换。只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。 android:screenOrientation="landscape"是限制此页面横屏显示,      android:screenOrientation="portrait"是限制此页面数竖屏显示。  

小&哥 5118

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android:screenorientation 不起作用,android – 设置screenOrientation到肖像不起作用

你可以做下面这样的事情在java中的rootView之后添加这一行getActivity().setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // programmatically对于Ex:View rootView = inflater.inflate(R.layout.activityxml,contai...

weixin_36275605的博客 365

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

安卓设置screenOrientation报红

新版本的Android Studio 在activity里设置android:screenOrientation="portrait"会报红,编译器提示我们使用fullSensor替代portrait,但是我们就希望设置竖屏不想跟随传感器,那么我们可以在application下加入xmlns:tool="http://schemas.android.com/tools" 和tool:ignore=...

mafanwei的博客 2383

假人有限元模型

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

Android screenOrientation 设置竖屏失效

问题是这样的,当我在AndroidManifest.xml文件中设置如下代码: <activity android:name=".MainActivity" android:screenOrientation="portrait" android:launchMode="singleTask"/> 发现,在手机不显示横竖屏切换的时候,页面还是会随着手机的横竖切换而变化。 这时只要在BaseActivity里面设置如下代码即

weixin_39592302的博客 1868

android屏幕方向设置android:screenOrientation属性

android:screenOrientation支持的属性。众所周知,Android应用程序中,android:screenOrientation用于控制activity启动时方向,取值可以为: unspecified,默认值,由系统决定,不同手机可能不一致 landscape,强制横屏显示 portrait,强制竖屏显 behind,与前一个activity方向相同 sensor,根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activ

m0_59911218的博客 1万+

通過XML設置屏幕方向(android:screenOrientation)详解

参考 http://androidbiancheng.blogspot.kr/2010/10/xmlandroidscreenorientation.html 参考 http://blog.youkuaiyun.com/zeng622peng/article/details/6572115   通過XML設置屏幕方向(android:screenOrientation)详解 分类:

突围 789
上一篇: 内部Handler类引起内存泄露
下一篇: ant打包
biandroid
博客等级 码龄15年 3粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值