Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]

本文介绍如何在Android应用中控制屏幕方向,包括通过AndroidManifest.xml文件和setRequestedOrientation方法设置横屏或竖屏,并讨论如何避免屏幕旋转导致的Activity重置问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 设定屏幕方向

当指定了屏幕的方向后(非SCREEN_ORIENTATION_UNSPECIFIED),屏幕就不会自己主动的旋转了

有2中方式控制屏幕方向:

1.1 改动AndroidManifest.xml

在AndroidManifest.xml的activity中增加:
横屏:
            android:screenOrientation=”landscape”
竖屏:
             android:screenOrientation=”portrait”

1.2 setRequestedOrientation

横屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

竖屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


ActivityInfo:

int

SCREEN_ORIENTATION_BEHIND

Constant corresponding to behind in the screenOrientation attribute.

int

SCREEN_ORIENTATION_FULL_SENSOR

Constant corresponding to fullSensor in the screenOrientation attribute.

int

SCREEN_ORIENTATION_FULL_USER

Constant corresponding to fullUser in the screenOrientation attribute.

int

SCREEN_ORIENTATION_LANDSCAPE

Constant corresponding to landscape in the screenOrientation attribute.

int

SCREEN_ORIENTATION_LOCKED

Constant corresponding to locked in the screenOrientation attribute.

int

SCREEN_ORIENTATION_NOSENSOR

Constant corresponding to nosensor in the screenOrientation attribute.

int

SCREEN_ORIENTATION_PORTRAIT

Constant corresponding to portrait in the screenOrientation attribute.

int

SCREEN_ORIENTATION_REVERSE_LANDSCAPE

Constant corresponding to reverseLandscape in the screenOrientation attribute.

int

SCREEN_ORIENTATION_REVERSE_PORTRAIT

Constant corresponding to reversePortrait in the screenOrientation attribute.

int

SCREEN_ORIENTATION_SENSOR

Constant corresponding to sensor in the screenOrientation attribute.

int

SCREEN_ORIENTATION_SENSOR_LANDSCAPE

Constant corresponding to sensorLandscape in the screenOrientation attribute.

int

SCREEN_ORIENTATION_SENSOR_PORTRAIT

Constant corresponding to sensorPortrait in the screenOrientation attribute.

int

SCREEN_ORIENTATION_UNSPECIFIED

Constant corresponding to unspecified in the screenOrientation attribute.

int

SCREEN_ORIENTATION_USER

Constant corresponding to user in the screenOrientation attribute.

int

SCREEN_ORIENTATION_USER_LANDSCAPE

Constant corresponding to userLandscape in the screenOrientation attribute.

int

SCREEN_ORIENTATION_USER_PORTRAIT

Constant corresponding to userPortrait in the screenOrientation attribute.




2. 禁止 屏幕旋转后重置Activity

屏幕旋转后会强制调用Activity.onCreate方法,所以会重置Activity

禁止方法:

改动AndroidManifest.xml

android:configChanges=”orientation”


近期在做Android的播放器。遇到採用以上方法后,仍然出现屏幕旋转后触发Activity.onCreate,经查阅资料后,发现须要加入screenSize处理

详细代码为:

android:configChanges="orientation|keyboardHidden|screenSize"


禁止重置Activity会造成Screen的宽高颠倒, 须要手动修正。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值