我正在测试 HTC Desire 这是一个 hdpi 设备。当您查看图像时,问题很明显:
这是我的 9-patch(使用标准 9-patch 工具制作)的外观(放大):
左图是我的 Photoshop 文件,右图是我设备的屏幕截图。如您所见,存在巨大差异。假设阴影不是那么重要,但模糊的边界看起来很糟糕。
我的 9-patch png 错了吗?我该怎么做才能获得漂亮的清晰 1px 实心边框?
我正在测试 HTC Desire 这是一个 hdpi 设备。当您查看图像时,问题很明显:
这是我的 9-patch(使用标准 9-patch 工具制作)的外观(放大):
左图是我的 Photoshop 文件,右图是我设备的屏幕截图。如您所见,存在巨大差异。假设阴影不是那么重要,但模糊的边界看起来很糟糕。
我的 9-patch png 错了吗?我该怎么做才能获得漂亮的清晰 1px 实心边框?
您应该为不同可绘制文件夹中的每个 png 使用 9-path 工具。有时问题是 Android 尝试转换 png 并模糊黑线,这导致后来出现正确显示的问题。
为了避免这个问题,只需将 9 补丁放在 drawable-no-dpi 文件夹中。这允许对所有密度都有一个图像。并且android不会触摸图像。
这主要是我为我的项目所做的,除非我真的想在密度之间有所不同。在这种情况下,我为每个密度创建一个 9-patch。
替代解决方案:
将顶部和左侧标记每边缩小 1 个像素。这将确保可缩放部分不与灰色边框重叠。