TransitionDrawable有九个补丁 - 边距错误

Mar*_*yer 5 android nine-patch android-ui android-layout transitiondrawable

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

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

有没有人遇到这样的问题?

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

riw*_*nyk 3

是的,你是对的。确实很烦人。

正如您所建议的,我使用硬编码的负填充来补偿first_nine_patch到目前为止的 9 补丁填充。

<?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>
Run Code Online (Sandbox Code Playgroud)