Android 设定横屏,禁止屏幕旋转,Activity重置

转载自:
http://blog.csdn.net/u012364372/article/details/51088831

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处理

具体代码为:

[html] view plaincopy

  1. android:configChanges="orientation|keyboardHidden|screenSize"

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

你可能感兴趣的:(Android 设定横屏,禁止屏幕旋转,Activity重置)