关注问题:Android上视图背景颜色的动画更改我试图通过TransitionDrawable资源使TextView在两个背景之间淡入淡出.我的转换xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/gray_bar" />
<item android:drawable="@drawable/green_bar" />
</transition>
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式将其设置为运行时的背景:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
Run Code Online (Sandbox Code Playgroud)
结果是textview转换成:
对此:

当整个灰色条应该变成绿色条.
两者都是9补丁png图像.这些是原件:

我的猜测是绿色条填满了灰色条内的文字空间,但我不知道为什么.有线索吗?尽管出现了所包含的图像,灰色的也看起来比它应该大得多,但是在转换之前,期间或之后不会改变大小.这可能是9补丁图像的问题,因为我已经测试了正常图像,并且过渡效果很好.
谢谢你的帮助!