2011-05-16 18 views
1

可能重复:
How to detect landscape left (normal) vs landscape right (reverse) with support for naturally landscape devices?我可以在android中检测两种风景吗?

是否可以旋转设备时,检测一个景观VS其他景观?

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

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) 
    { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } 
    else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) 
    { 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
} 

的作品,但我想看看我能否确定手机的哪一面,因为我想显示不同的布局。

回答

3

对于运行Android 2.2+的设备,您可以。请查看this blog post了解详情,或者您可以skip to the punchline

+0

完美,我创造了2.2+,getRotation()'前面有什么?我尝试了'this.getRotation();'但是说方法不适用于我的类 – Ronnie 2011-05-16 17:37:24

+2

Display display =((WindowManager)getSystemService(Context.WINDOW_SERVICE))。getDefaultDisplay(); int orientation = display.getRotation(); – Haphazard 2011-05-16 17:43:08

+0

优秀,完美的作品,非常感谢! – Ronnie 2011-05-16 17:48:24

相关问题