Android在hdpi设备上缩放hdpi图像

时间:2013-03-15 14:59:15

标签: android android-resources hdpi

我注意到我的应用程序中的所有图像似乎都比原件小。例如。

我把图像放在这样的活动上:

<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content"
           android:src="@drawable/ic_search_dark"
           />

我从结果中截取屏幕截图并将图像测量为25x25:

http://petromi.com/get/86b23cdb63.png

但它的实际大小是28x28:

http://petromi.com/get/fd68913104.png

图片已放置到drawables-hdpi文件夹中。设备是1280x800平板电脑。我已将其显示指标记录如下:

Log.d("Screen (%s, %s) - [%s, %s] [%s]", dm.widthPixels, dm.heightPixels, dm.xdpi, dm.ydpi, dm.densityDpi);

我得到了:

Screen (1280, 736) - [160.0, 160.15764] [213]
Screen (800, 1216) - [160.0, 160.15764] [213]

(肖像和风景)

我很惊讶Android在hdpi设备上从drawable-hdpi缩放图像。可以吗?如果是的话,你们能给我一个描述这些规则的链接吗?

1 个答案:

答案 0 :(得分:5)

如果设备注册为hdpi设备,它将从hdpi文件夹中获取图像。然后,它将继续将图像缩放到设备的实际规格。这个是正常的。

hdpi的dpi为240。您所拥有的是213,因此图片仍会根据240 dpi设置进​​行缩放。

如果您不想进行任何类型的缩放,则需要将图像放在drawable-nodpi文件夹中。