【发布时间】:2012-06-21 07:10:42
【问题描述】:
我有问题。我想为LinearLayout 的背景颜色设置动画,使用ObjectAnimator。
问题在于它是动画的,但它既不关心持续时间也不关心valueFrom 和valueTo。
这是我的 xml 文件:
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:propertyName="backgroundColor"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:valueFrom="#FF0000"
android:valueTo="#000000" />
在 Java 中我这样称呼:
ObjectAnimator objAnim = (ObjectAnimator)AnimatorInflater.loadAnimator(getActivity(), R.animator.animator_bkg);
objAnim.setTarget(view);
objAnim.start();
请注意,当我为布局的 alpha 设置动画时,它会按预期工作。
这是一个 Android 错误(Asus Transformer 上的 4.0.3),还是我错过了什么?
【问题讨论】:
-
当您尝试为颜色设置动画时究竟会发生什么?
-
动画速度非常快,看起来背景是用所有可能的颜色(如随机颜色)进行动画处理的。我看到蓝色,红色,绿色,黄色,一切,而且非常快:)
-
这不起作用,因为在“数字”0xFF0000 和 0x000000 之间还有其他原色 0x00FF00 和 0x0000FF,以及几乎所有其他颜色。将您的桌面计算器设置为程序员/十六进制,您会看到红色的一半实际上是深黄色而不是深红色。