Android 设定横屏,禁止屏幕旋转,Activity重置
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的宽高颠倒, 需要手动修正。
更多相关文章
- View类xml属性、方法
- Android 屏幕横竖屏切换
- 【Android 开发】:UI控件之显示图片控件 ImageView 的使用方法
- Android与JavaScript方法相互调用!
- android:屏幕自适应(转)
- Android 系统音量最大值的定义位置以及默认值的修改方法