http://blog.csdn.net/huigezhang/article/details/6311442
判断当前屏是横屏还是竖屏有如下几种方法,现汇总如下:
1.通过获取当前屏幕的尺寸来判断
代码如下:
- Display display = getWindowManager().getDefaultDisplay();
- boolean isPortrait = display.getWidth() < display.getHeight();
或
- DisplayMetrics dm = context.getApplicationContext().getResources().getDisplayMetrics();
- Boolean isPortrait = dm.widthPixels < dm.heightPixels;
其中通过取得的长和宽是随着屏幕的切换而变化的,如果是竖屏时,则得到的宽会比长更小,如果是模屏的话,则得到的宽会比长更小。
2.通过android.content.res.Configuration类
- boolean isPortrait = false ;
- if(android.content.res.Configuration.orientation == android.content.res.Configuration.ORIENTATION_PORTRAIT)
- {
- isPortrait = true ;
- }
- else if(android.content.res.Configuration.orientation == android.content.res.Configuration.ORIENTATION_LANDSCAPE)
- {
- isPortrait = false ;
- }
使用这个方法时,需要在AndroidManifest.xml配置文件中申明应用程序自己能感知屏幕切换操作。
- //在Application标签中加入
- android:configChanges="orientation"
然后在Activity中override 如下方法,然后在如下方法中加入横竖屏判断程序:
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- }