有两种方式:(获取到的大小准确度与手机的类型有关,google手机你还需要加上底部栏)
1
WindowManager wm = (WindowManager) getContext()
getSystemService(ContextWINDOW_SERVICE);
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
2
WindowManager wm = thisgetWindowManager();
int width = wmgetDefaultDisplay()getWidth();
int height = wmgetDefaultDisplay()getHeight();
// 通过WindowManager获取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager()getDefaultDisplay()getMetrics(dm);
// 通过Resources获取
DisplayMetrics dm2 = getResources()getDisplayMetrics();
// 获取屏幕的默认分辨率
Display display = getWindowManager()getDefaultDisplay();
Systemoutprintln("width-display :" + displaygetWidth());
Systemoutprintln("heigth-display :" + displaygetHeight());
在安卓42系统中,使用方法一得到了正确的屏幕尺寸值,而使用方法二和三得到的值全部为零。原因不祥。其中方法三中的displaygetWidth()和displaygetHeight()已被弃用。
下面的代码即可获取屏幕的尺寸: 在一个Activity的onCreate方法中,编写以下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager()getDefaultDisplay()getMetrics(metric); int width = metricwidthPixels; // 宽度(PX) int height = metricheightPixels; // 高度(PX) float density = metricdensity; // 密度(075 / 10 / 15) int densityDpi = metricdensityDpi; // 密度DPI(120 / 160 / 240) 需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。 所以,需要在工程的AndroidManifestxml文件中,加入supports-screens节点,如下: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true" /> 这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
以上就是关于怎样获取Android手机屏幕的大小全部的内容,包括:怎样获取Android手机屏幕的大小、android怎么获取屏幕的分辨率、怎样获取Android手机屏幕的大小(分辨率、密度)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)