问题描述
在我的应用中使用 the official "Buy with Google Pay" assets 创建无阴影按钮时,黑色按钮比白色按钮具有更多的边距。
如下图所示,在夜间和白天模式下使用按钮时,差异很明显。
解决方法
这是因为 Google 提供的“影子”资产与“非影子”资产不一致。这可以通过比较 /app/[colour]/res/drawable-xhdpi/
中的 9patch PNG 看出:
请注意,虽然每个的阴影图像是相同的,但 _no_shadow
变体不是。黑色资源的边缘有额外的边距(在 9patch 黑色边框之前),导致按钮外观略有不同。
虽然理想的解决方案是让 Google 更新提供的资产,但直接的解决方案是将提供的资产替换为没有边际的资产,如白色资产。我已经创建了一个已经有这种处理的集合。
要使用图像,请将每个图像保存在相应的 drawable-x
目录中作为 googlepay_button_no_shadow_background_image.9.png
。