我使用 9-patch 图像作为选择器项元素的可绘制对象。 9-patch 图片在这里:
最终渲染的图像是这样的(模拟器和设备截图,两个设备都有分辨率 > mdpi):
如您所见,它已缩放到可拉伸(stretch)区域之外(如 9 补丁文件中所定义),较深的绿色条应该更粗。 为什么会这样,可以避免吗? draw9patch 工具正确缩放此图像。这是否与 Android 试图在高分辨率设备上保留物理尺寸有关?
最佳答案
你们只提供图像的 mdpi 版本吗?
Android 会缩放所有无法以正确像素密度提供的图像。这发生在图像通过 9patch 缩放之前。
这意味着您的图像会按比例放大以适合 hdpi,然后再按比例缩放以适合内容。
要解决此问题,您必须提供图像的 hdpi 和 xhdpi 版本。 9patch 不应该针对不同的像素密度和不同的内容/屏幕尺寸。
关于android - 9 补丁图像在错误的位置缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754460/