Android 中横屏竖屏设置

今天遇到一个问题,我所有的activity都是继承自BaseActivity, 在BaseActivity 中的onCreate 中设置了setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);竖屏。
但是我现在用的这个Activity中要全屏播放视频,一种是手机旋转,一种是强制设置横屏。这里就对Android 中横竖屏的设置做一个总结。

在manifest.xml中配置

android:screenOrientation=”*
sensor 重力感应 用户旋转屏幕会切换横竖屏显示
landscape 横屏显示
portrait 竖屏显示
上面这几个比较常用其他的参数
unspecified 由系统来判断显示方向
user 用户当前首选方向
behind 和该activity下面的那个Activity的方向一致
nosensor 忽略物理感应器

在java代码中设置

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 设置横屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 设置竖屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 设置重力感应。

判断屏幕的方向
if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

configChanges

如果屏幕方向配置的是感应的,在手机屏幕旋转的时候会对activity 进行重建 。这个参考横竖屏切换的生命周期的变化 —横竖屏切换生命周期变化
在webview 旋转屏幕是配置如下android:configChanges=”orientation|screenSize”
不会重新调用各个生命周期,只会执行onConfigartionChanged方法。

参考博文:
http://blog.csdn.net/ningranzuozuo/article/details/50474386

关注微信公众号,每天都有优质技术文章,搞笑GIF图片推送哦。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值