如何在ANDROID中获得屏幕宽度dpi?

如何在ANDROID中获得屏幕宽度dpi?,第1张

概述如何获得屏幕宽度dpi? DisplayMetrics metrics = getResources().getDisplayMetrics();int f = metrics.densityDpi; // getWindowManager().getDefaultDisplay().getMetrics(metrics);int width = metrics.widthPixe 如何获得屏幕宽度dpi?
displayMetrics metrics = getResources().getdisplayMetrics();int f = metrics.densityDpi;  //  getwindowManager().getDefaultdisplay().getMetrics(metrics);int wIDth = metrics.wIDthPixels;int dp = (int)(wIDth / (metrics.density));

我这样做,所以假设我的densitydpi是120 ..和wIDthpixel 240 ..
通过计算得到240 / 0.75 ….所以我有320宽度?

然而情况并非如此……我认为wIDthdpi小于320 …因为320在屏幕上跟我错了….使用120个作品.

在Nexus 4上……宽度为768,密度为320 ……我除以768/2,得到384正确的宽度密度dpi(它可以工作)

但在其他像240,160,120密度dpi … wIDthdpi的计算似乎是错误的…

解决方法 每 Supporting Multiple Screens guide’s definition of DP
px = dp * (dpi / 160)

因此

dp = px / (dpi / 160)

或者等价的

dp = px * 160 / dpi

请记住,dp代表“与密度无关的像素” – 即1dp在ldpi设备上与在xxhdpi设备上的物理尺寸相同.因此,您应该期望所有手机的宽度大约为300-400dp,请注意dp的铲斗尺寸:

> xlarge屏幕至少为960dp x 720dp>大屏幕至少640dp x 480dp>正常屏幕至少为470dp x 320dp>小屏幕至少426dp x 320dp

总结

以上是内存溢出为你收集整理的如何在ANDROID中获得屏幕宽度dpi?全部内容,希望文章能够帮你解决如何在ANDROID中获得屏幕宽度dpi?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1134477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存