android

时间:2015-06-05 19:41:37

标签: android pixel dpi

如果我有5英寸对角屏幕尺寸和2.3英寸屏幕宽度的Android设备,其屏幕支持1080 * 1920像素,它的屏幕密度最接近的类型是什么?怎么能解决这个问题?

2 个答案:

答案 0 :(得分:2)

您应该将sp用于字体大小,将dp用于其他任何内容。有关屏幕密度,术语和正确用途,请参阅此SO帖子:Difference between px, dp, dip and sp in Android?

此外,这里还有一个指向Android开发人员API指南的链接,用于支持应用程序中的多个屏幕:http://developer.android.com/guide/practices/screens_support.html

答案 1 :(得分:1)

您可以在活动

中找到阅读DisplayMetrics的设备显示信息
dm.densityDpi

float density - The logical density of the display - scaling factor float scaledDensity - A scaling factor for fonts displayed on the display. int widthPixels - The absolute width of the display in pixels. int heightPixels - The absolute height of the display in pixels. float xdpi - Physical pixels per inch of the screen in the X dimension. float ydpi - Physical pixels per inch of the screen in the Y dimension. 将为您提供以每英寸点数表示的设备dpi存储桶

您还可以获得其他显示指标,例如:

xdpi

但是,对于某些设备,ydpigetRealMetrics()指标返回了错误的数字,您无法依赖它们。从API 17开始,您也可以使用xdpi。它应该为您提供ydpiDisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getRealMetrics(dm); 的准确值。

{{1}}