判断当前是横屏还是竖屏

判断当前屏是横屏还是竖屏有如下几种方法,现汇总如下:

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); }

 

 

你可能感兴趣的:(android,application)