StateListDrawable填充

时间:2014-03-25 15:08:31

标签: android padding drawable android-selector

我在StateListDrawable中遇到填充问题。 如果我的样式中的某些人使用图像资源定义某些<selector>的引用,则会为我的9path图像设置一些错误的填充。顺便说一句,我设置了特定的图像 - 一切都好。但除此之外,android为我的StateListDrawable创建<selector>并且(正如我在源代码上使用调试器所看到的那样)它通过use方法得到填充:

Rect getConstantPadding();

并返回错误的值(在我的情况下,它不是null或0)。 此方法使用mVariablePadding变量:

if (mVariablePadding) {
     return null;
}

但是我不能在资源中设置它(可能我做错了)。

有人知道这个问题的解决方案吗?谢谢!

1 个答案:

答案 0 :(得分:0)

问题出在9路图像上。对于选择器,它从九路径drawable的右下边框(内容)计算填充。 除了选择器android:variablePadding中有变量,它们计算填充(选择最大值等)。所以它仍然可以是非0,即使在大多数情况下图像没有填充。