TransitionDrawable有九个补丁 - 边距错误

时间:2013-02-15 19:45:14

标签: android android-layout android-ui nine-patch transitiondrawable

我有一个TransitionDrawable。这两个状态都是9个补丁并且定义了内容区域。问题是利润率太高 - 实际上它基本上是应有的两倍。似乎它增加了两个九个补丁的边缘。

如果我将这些九个补丁中的一个直接设置为背景并且不使用TransitionDrawable,则边距可以正常工作,因此九个补丁肯定是正确的。

有人遇到过这样的问题吗?

编辑:如果我将内容区域设置为资源的完整大小并在xml中定义填充,则它可以正常工作。相反,它总是会让保证金错误。这似乎是Android中的一个错误,所以这似乎是唯一的解决方案,但也许有更好的解决方法:/

1 个答案:

答案 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>