在Xoom平板电脑上,我的密度值为1.0。在清单文件中是否有任何错过以支持3.0或更高版本的操作系统设备?以下是在平板电脑上打印密度值的代码段。
System.out.println("******==="+getResources().getDisplayMetrics().density
+"===widht=="+getResources().getDisplayMetrics().widthPixels
+"===height=="+getResources().getDisplayMetrics().heightPixels
+"====="+getResources().getDisplayMetrics().toString());
我还添加了所有支持的屏幕设置为true但仍然得到密度值错误。
<supports-screens android:resizeable="true" android:smallScreens="true"
android:normalScreens="true" android:largeScreens="true"
android:xlargeScreens="true" android:anyDensity="true" />
有人对此有任何想法吗?
答案 0 :(得分:1)
查看Android文档density:
显示器的逻辑密度。这是密度独立像素单元的缩放因子,其中一个DIP是大约160dpi屏幕上的一个像素(例如240x320,1.5“x2”屏幕),提供系统显示的基线。因此,在160dpi屏幕上,此密度值将为1;在120 dpi的屏幕上它将是.75;等
此值并不完全符合实际屏幕尺寸(由xdpi和ydpi给出,而是用于根据显示dpi中的总体变化逐步缩放整个UI的大小。例如,240x320屏幕即使其宽度为1.8“,1.3”等,其密度也为1.但是,如果屏幕分辨率增加到320x480,但屏幕尺寸保持为1.5“x2”,则密度将增加(可能为1.5)。