2013-03-15 43 views
1

我注意到在我的应用程序中的所有图像似乎都比原件小。例如。Android在hdpi设备上缩放hdpi图像

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

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

我参加了一个截图从结果和测量的图像为25×25:

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] 

(纵向和横向)

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

+1

有趣 - 数字是正确的。 28 * 213/240 = 24.85。众所周知的文档称:“当应用程序在用不同密度的屏幕上显示时,保留用户界面元素的物理尺寸(从用户的角度来看)时,您的应用程序实现了”密度独立性“。 – 323go 2013-03-15 15:06:05

回答

5

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

hdpi的dpi是240。你有什么是213,所以图像仍然会根据240 dpi设置进行缩放。

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

相关问题