【发布时间】:2013-02-15 19:45:13
【问题描述】:
我有一个 TransitionDrawable。这两个状态都是九个补丁,并定义了一个内容区域。问题是利润太高了——事实上它基本上是应该的两倍。似乎是在将两个九个补丁的边距相加。
如果我将这九个补丁中的一个直接设置为背景而不使用TransitionDrawable,则边距可以正常工作,因此九个补丁绝对正确。
有人遇到过这样的问题吗?
编辑:如果我将内容区域设置为资产的完整大小并在 xml 中定义填充,则它可以工作。否则它总是会得到错误的边距。这似乎是 Android 中的一个错误,所以这似乎是唯一的解决方案,但也许有更好的方法来解决这个问题:/
【问题讨论】:
-
你能发布你的 9 个补丁和它们所在的 xml 布局吗?看不到代码就很难调试。我以前遇到过这种情况,我的
StateListDrawable没有适当的边距,我意识到我的图像上的内容/可拉伸区域不匹配,Android 占据了共同点。 -
这似乎是框架中的一个错误:code.google.com/p/android/issues/detail?id=48412 如果我覆盖 xml 中的填充,它可以工作,但这并不是我真正想要做的
-
出于好奇,如果您在
TransitionDrawable的过渡中为两个项目使用相同的drawable 会发生什么?这样可以保证您使用相同大小的 9 补丁和相同大小的内容/可拉伸区域,并且 Android 做错了什么...... -
是的,完全相同的问题。它只是将两种状态的填充相加。
-
即使我覆盖了填充,一旦我改变状态,它也会再次添加填充。
标签: android android-layout android-ui nine-patch transitiondrawable