9补丁图像在错误的位置缩放

时间:2013-02-07 15:13:06

标签: android image scaling nine-patch

我使用九个补丁图像作为选择器项目元素的drawable。 九个补丁图像在这里:

9 patch image

最终渲染的图像是这个(模拟器和设备截图,两个设备都有分辨率> mdpi):

resulting rendered image

正如您所看到的,它已在可伸展区域之外缩放(如9补丁文件中所定义),较深的绿色条纹应该更厚。 为什么这样,可以避免吗? draw9patch工具正确缩放此图像。是否与Android有关,试图在高分辨率设备上保留物理尺寸?

2 个答案:

答案 0 :(得分:6)

您是否只提供图像的mdpi版本?

Android会按正确的像素密度缩放所有不可用的图像。这是在通过9patch缩放图像之前发生的。

这意味着您的图片会按比例放大以适合hdpi,然后缩放以适合内容。

要解决此问题,您必须提供图像的hdpi和xhdpi版本。 9patch不应该针对不同的像素密度和相当不同的内容/屏幕尺寸。

答案 1 :(得分:3)

我检查了你的9补丁:

enter image description here

为什么你把未使用的边界变成白色?它应该是透明的。 因此,它不被认为是9Patch:

enter image description here