Android获取手机屏幕尺寸代码段
获取安卓手机屏幕尺寸的方式其实蛮,但真要用得顺手,还得理解点底层逻辑。比如你在做适配时,知道屏幕有多宽、多高,像素密度是多少,能帮你决定该用多大的字体、多粗的边框,体验上差别可大了。
代码里先拿到Display对象,这步比较常规,直接通过WindowManager
拿就行:
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
,用getMetrics()
把DisplayMetrics拉出来,你就能拿到像素宽高和密度这些核心参数:
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
int widthPixels = displayMetrics.widthPixels;
int heightPixels = displayMetrics.heightPixels;
float density = displayMetrics.density;
float densityDpi = displayMetrics.densityDpi;
要换成逻辑像素?简单,用widthPixels / density
算就对了。适合你在用dp
单位做 UI 布局时参考。
适配方面,Android 支持你建多个资源目录,比如values-mdpi
、values-xhdpi
,在里面写不同的尺寸资源,自动根据设备密度加载,挺方便。
顺带提醒下,API 11 之后还能用getRealMetrics()
获取带系统栏的完整尺寸,做一些全屏显示需求时别忘了它。
如果你是做布局调试、屏幕适配这类事儿比较多的,可以把这段代码封装下当工具类,写起来更省心。
获取手机屏幕尺寸的代码段.zip
预估大小:2个文件
获取手机屏幕尺寸的代码段
文件夹
getDisplayMetrics.java.txt
1024B
资源说明.txt
36B
934B
文件大小:
评论区