【问题标题】:Standard 9 patch generator for shadows produces 9 patches which won't compile用于阴影的标准 9 补丁生成器会生成 9 个无法编译的补丁
【发布时间】:2020-12-19 00:10:39
【问题描述】:

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

AAPT:错误:文件编译失败。

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

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

【问题讨论】:

  • 为什么不使用标准的 9-patch 并使用它设置组件的高程,而不是将阴影设置到 9-patch 本身?
  • 如果可以的话,请提供演示项目。我使用您提供并添加到可绘制资源的服务创建了一个影子资产。项目编译构建成功。我正在使用最新的 Android Studio 4.1.1
  • @Eselfar 我需要控制阴影的颜色。

标签: android nine-patch


【解决方案1】:

我在您提到的网站上生成了一个 9-patch。在 Android Studio 中,我看到了这个错误:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多