根据问题: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>
我尝试通过以下方式将其设置为运行时背景:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
结果是 textview 从此转换:
对此:
当整个灰色条应转换为绿色条。
两者都是 9-patch png 图像。这些是原件:
我的猜测是绿色条正在填充灰色条内可用于文本的空间,但我不知道为什么。有什么线索吗?灰色的看起来也比它应该的大得多,但在转换之前、期间或之后不会改变大小,尽管包含的图像出现了。这可能是 9-patch 图像的问题,因为我已经测试了普通图像并且过渡效果很好。
谢谢你的帮助!