如果我有5英寸对角屏幕尺寸和2.3英寸屏幕宽度的Android设备,其屏幕支持1080 * 1920像素,它的屏幕密度最接近的类型是什么?怎么能解决这个问题?
答案 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
但是,对于某些设备,ydpi
和getRealMetrics()
指标返回了错误的数字,您无法依赖它们。从API 17开始,您也可以使用xdpi
。它应该为您提供ydpi
和DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(dm);
的准确值。
{{1}}