android改变屏幕显示方向

屏幕的显示方向有横排和竖排两种:

下面的代码可以为我们自动的控制长宽。

  1. /*** 
  2.      * 根据实际的屏幕长宽,自动的进行竖排或者横排 
  3.      */  
  4.     public void autoChange() {  
  5.         DisplayMetrics displayMetrics = new DisplayMetrics();  
  6.         getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);  
  7.         int height = metrics.heightPixels;  
  8.         int width = metrics.widthPixels;  
  9.           
  10.         // getRequestedOrientation方法可以获取当前activity的排列模式  
  11.         int requestOritation = getRequestedOrientation();  
  12.   
  13.         if (requestOritation == -1) {  
  14.             Toast.makeText(this,  
  15.                     "当前activity中没有设置screenOrientation属性,根本不能执行翻转操作",  
  16.                     Toast.LENGTH_LONG).show();  
  17.         }  
  18.         else{  
  19.               
  20.             /** 
  21.              * ActivityInfo.SCREEN_ORIENTATION_PORTRAIT代表竖排 
  22.              * (另一种形式为在Manifest.xml中为activity配置screenOrientation="portrait") 
  23.              * ActivityInfo则是一个和我们在Manifest.xml中为activity配置的信息相关的类 
  24.              */  
  25.             if(requestOritation==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT&&width>height){  
  26.                 // setRequestedOrientation 可以重新设置  
  27.                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  
  28.             }  
  29.             // 下边的代码省略了  
  30.               
  31.         }  
  32.           
  33.     }  

----------------------------------------------------------------------------------

横排:ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

竖排: ActivityInfo.SCREEN_ORIENTATION_PORTRAIT

      获取当前的排列模式:可以通过在activity中调用getRequestedOrientation()方法获取,如果我们再AndroidManifest.xml中没有为该activity设置screenOrientation属性来初始化排列模式,那么在编程模式下,无论我们怎么排列,都是不起作用的。

        改变当前的排列模式:setRequestedOrientation()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值