检测屏幕方向的变化的方法


  网上大多数的检测屏幕方向的变化的方法的代码如下:


WindowManager wm = getWindowManager(); 
Display d = wm.getDefaultDisplay(); 

if (d.getWidth() > d.getHeight()) { 
//---landscape mode 横屏--- 

} 
else { 
//---portrait mode 竖屏--- 

}



但是,由于display的getWidth和getHeight方法被废弃了


于是我摸索了一下使用getSize()的方法,代码如下:


WindowManager windowManager = getWindowManager();

        Display display = windowManager.getDefaultDisplay();

        Point point=new Point();

        EditText editText = (EditText)findViewById(R.id.edit_text1);

        display.getSize(point);

        if(point.x>point.y){
            editText.setHint(" This is land layout!");
        }else{
            editText.setHint(" This is portrait layout!");
        }


另外还有一种方法:

使用getRequestedOrientation()方法,不过使用这个方法的前提是得在在AndroidManifest.xml当中需要设置Activity的Android:screenOrientation属性

代码如下:

<activity android:name=".thirdAty"
            android:screenOrientation="userPortrait">
            <intent-filter>
                <action android:name="com.example.administrator.layout_3zhang.thirdAty"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>



int orientation = getRequestedOrientation();
        if(orientation==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
            //横屏
        }else if(orientation==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
            //竖屏
        }

这个方法详细参考自:http://blog.sina.com.cn/s/blog_9c153bc60101a4my.html



转载于:https://my.oschina.net/Bruce370/blog/415744

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值