Mam problem. Chcę ożywić kolor tła z LinearLayout
, używając ObjectAnimator
.
Problem polega na tym, że animuje się, ale nie dba o czas trwania ani o valueFrom
i valueTo
.Android objectAnimator animuj tłoKolor układu
To jest mój plik 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" />
W Javie nazywam to tak:
ObjectAnimator objAnim = (ObjectAnimator)AnimatorInflater.loadAnimator(getActivity(), R.animator.animator_bkg);
objAnim.setTarget(view);
objAnim.start();
Zauważ, że kiedy animować alfa układzie, to działa zgodnie z oczekiwaniami.
Czy to błąd Androida (4.0.3 na Asus Transformer), czy coś mi brakuje?
Co dzieje się dokładnie podczas próby animowania kolorów? – DeeV
Prędkość animacji jest bardzo szybka i wygląda na to, że tło jest animowane wszystkimi możliwymi kolorami (jak losowy kolor). Widzę niebieski, czerwony, zielony, żółty, wszystko i bardzo szybko :) – XMight
To nie działa, ponieważ między "liczbami" 0xFF0000 i 0x000000 są też inne podstawowe kolory 0x00FF00 i 0x0000FF, a także prawie każdy inny kolor. Ustaw swój kalkulator na programista/szesnastkowy, a zobaczysz, że połowa czerwieni jest rzeczywiście ciemnożółta, a nie ciemnoczerwona. – Combuster