Ich habe ein Problem. Ich möchte animieren die Hintergrundfarbe eines LinearLayout
, mit ObjectAnimator
.
Das Problem ist, dass es animiert, aber es kümmert sich weder um Dauer noch valueFrom
und valueTo
.Android objectAnimator animieren backgroundColor des Layouts
Dies ist meine XML-Datei:
<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 ich so nennen:
ObjectAnimator objAnim = (ObjectAnimator)AnimatorInflater.loadAnimator(getActivity(), R.animator.animator_bkg);
objAnim.setTarget(view);
objAnim.start();
Beachten Sie, dass, wenn ich das Alpha des Layouts animieren, es funktioniert wie erwartet.
Ist das ein Android-Bug (4.0.3 auf Asus Transformer), oder ich vermisse etwas?
Was passiert genau, wenn Sie versuchen, die Farben zu animieren? – DeeV
Die Animationsgeschwindigkeit ist sehr schnell und es sieht so aus, als wäre der Hintergrund mit allen möglichen Farben animiert (wie eine zufällige Farbe). Ich sehe blau, rot, grün, gelb, alles und sehr schnell :) – XMight
Das funktioniert nicht, denn zwischen der "Zahl" 0xFF0000 und 0x000000 gibt es auch die anderen Primärfarben 0x00FF00 und 0x0000FF, und so ziemlich jede andere Farbe. Setzen Sie Ihren Desktop-Rechner auf Programmierer/Hexadezimal, und Sie werden sehen, dass die Hälfte von Rot tatsächlich dunkel gelb statt dunkelrot ist. – Combuster