Android objectAnimator animate backgroundColor of Layout

android, android-animation

Solution

I googled a bit. There is an answer. Try to use TransitionDrawable. http://developer.android.com/guide/topics/resources/drawable-resource.html#Transition

Also, there is a topic somewhere on stackoverflow.com dedicated to the same problem.

ADDED Code example:

    Button btn = (Button)this.findViewById(R.id.btn1);
    //Let's change background's color from blue to red.
    ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)};
    TransitionDrawable trans = new TransitionDrawable(color);
    //This will work also on old devices. The latest API says you have to use setBackground instead.
    btn.setBackgroundDrawable(trans);
    trans.startTransition(5000);

Problem

I have a problem. I want to animate the background color of a `LinearLayout`, using `ObjectAnimator`. The problem is that it animates, but it does neither care about duration nor `valueFrom` and `valueTo`. This is my xml file: ``` <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" /> ``` In Java I call like this: ``` ObjectAnimator objAnim = (ObjectAnimator)AnimatorInflater.loadAnimator(getActivity(), R.animator.animator_bkg); objAnim.setTarget(view); objAnim.start(); ``` Note that when I animate the alpha of the layout, it works as expected. Is this an Android bug (4.0.3 on Asus Transformer), or I miss something?

Original source