Android手动切换屏幕方向

屏幕方向参数:
 
            ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,//未指定,此为默认值。由Android系统自己选择合适的方向。
              ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,//横屏
              ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,//竖屏
              ActivityInfo.SCREEN_ORIENTATION_USER,// 用户当前的首选方向
              ActivityInfo.SCREEN_ORIENTATION_BEHIND,//继承Activity堆栈中当前Activity下面的那个Activity的方向
              ActivityInfo.SCREEN_ORIENTATION_SENSOR,//由物理感应器决定显示方向
              ActivityInfo.SCREEN_ORIENTATION_NOSENSOR,// 忽略物理感应器——即显示方向与物理感应器无关
              ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE,
              ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT,
              ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE,
              ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,
              ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR,


通过setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);可以指定屏幕方向。

示例代码:

31.动态更改屏幕方向
      /如果是竖排,则改为横排 
      if(getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)  
     
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     
 
      //如果是横排,则改为竖排  
 
      elseif(getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)  
     
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
     
           
    在AndroidManifest.xml文件里设置默认方向
                  <activity android:name=".ChangeOrientation" 
                                      android:label="@string/app_name"  
                                  android:screenOrientation="portrait">

32.防止旋屏后重新执行onCreate
    只需要在Activity 的配置文件里添加属性:
            android:configChanges="orientation|keyboardHidden|navigation"
           
            可以在activity中重载onConfigurationChanged方法,根据不同旋转方向做其他动作,如下:

            @Override
            public void onConfigurationChanged(ConfigurationnewConfig) {
                  super.onConfigurationChanged(newConfig);
                 
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值