android - 带有 9-patch 的 TransitionDrawable - 边距错误

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

我有一个 TransitionDrawable。这两个状态都是 9-patch ,并定义了一个内容区域。问题是利润率太高了——事实上它基本上是应该的两倍。它似乎是将两个 9-patch 的边距相加。

如果我将这 9-patch 中的一个直接设置为背景并且不使用 TransitionDrawable,则边距可以正常工作,因此 9-patch 绝对是正确的。

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

编辑:如果我将内容区域设置为 Assets 的完整大小并在 xml 中定义填充,它就可以工作。否则它总是会弄错边距。这似乎是 Android 中的一个错误,所以这似乎是唯一的解决方案,但也许有更好的方法来解决这个问题:/

最佳答案

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

正如您所建议的,我使用硬编码的负填充来补偿 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>

关于android - 带有 9-patch 的 TransitionDrawable - 边距错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902185/

相关文章:

android - 如何检查下载图片的过程是否完成?

java - 如何在将整个输入作为字符串的计算器中计算百分比?

java.lang.RuntimeException : Performing stop of activity that is not resumed:

android - subview 不固定父形状

java - 在 android.widget.AbsListView.contentFits(AbsListView.java :722)

android - 列表返回空值

android - 在运行时在 android 中重复布局

android - 如何向字体 TextView 类添加多种字体?

Android getMeasuredHeight 返回错误值!

android - 在android应用程序中显示html格式的文本