我有一个TransitionDrawable。这两个状态都是9个补丁并且定义了内容区域。问题是利润率太高 - 实际上它基本上是应有的两倍。似乎它增加了两个九个补丁的边缘。
如果我将这些九个补丁中的一个直接设置为背景并且不使用TransitionDrawable,则边距可以正常工作,因此九个补丁肯定是正确的。
有人遇到过这样的问题吗?
编辑:如果我将内容区域设置为资源的完整大小并在xml中定义填充,则它可以正常工作。相反,它总是会让保证金错误。这似乎是Android中的一个错误,所以这似乎是唯一的解决方案,但也许有更好的解决方法:/
答案 0 :(得分:3)
正如您所提议的那样,到目前为止,我使用硬编码的负填充来补偿first_nine_patch
的9-patch填充。
<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/first_nine_patch" />
<item android:drawable="@drawable/second_nine_patch"
android:top="-7dp"
android:right="-16dp"
android:bottom="-8dp"
android:left="-4dp" >
</item>
</transition>