用于阴影的标准 9 补丁生成器生成 9 个无法编译的补丁

问题描述

我一直在尝试使用这个 http://inloop.github.io/shadow4android/,但它绘制的所有 9 个补丁都无法在 Android Studio 中编译。任何人都有修复或替代方案?我正在尝试绘制阴影。

AAPT:错误文件编译失败。

当我在 Android Studio 中查看 9 补丁编辑器时,它没有显示任何坏补丁。

我需要控制阴影的颜色,我使用的是 Cardview。

解决方法

我在您提到的网站上生成了 9 个补丁。在 Android Studio 中,我看到此错误:

AAPT:错误:发现无效颜色。
...目录路径...
shadow_95536.9.png:错误:文件编译失败。

直接运行aapt出现如下错误:

aapt c -S 。 -C .\tmp
处理源目录中的 PNG 文件:.
到目标目录:.\tmp
错误:9-patch 图像 shadow_95536.9.png 格式错误。
帧像素必须是纯色或透明的(不是中间 alpha)。
在底部边缘的像素 #26 处找到。

在图像编辑器中检查后,很明显图像底部有一个像素具有 alpha,而不是完全不透明或透明,如 aapt 错误消息中所述。通过使其 100% 透明来删除违规像素解决了编译问题。

enter image description here

如果这是您看到的问题,请在您选择的图像编辑器(我使用 GIMP)中检查 9-patch 的边界并纠正有问题的像素。