[ Pobierz całość w formacie PDF ]

Poniżej wypisaliśmy listę obsługiwanych interpolatorów:
AccelerateDecelerateInterpolator
AccelerateInterpolator
CycleInterpolator
DecelerateInterpolator
LinearInterpolator
AnticipateInterpolator
AnticipateOvershootInterpolator
BounceInterpolator
OvershootInterpolator
Poleć książkę
Kup książkę
Rozdział 16 Analiza animacji dwuwymiarowej 533
%7łeby zaprezentować potencjalną elastyczność interpolatorów, przyjrzyjmy się pokrótce obiek-
towi BounceInterpolator, powodującemu  podskakiwanie elementu (to znaczy jego naprze-
mienny ruch w górę i w dół) do samego końca poniższej animacji:
public class BounceInterpolator implements Interpolator {
private static float bounce(float t) {
return t * t * 8.0f;
}
public float getInterpolation(float t) {
t *= 1.1226f;
if (t
else if (t
else if (t
else return bounce(t - 1.0435f) + 0.95f;
}
}
Zachowanie tych interpolatorów zostało omówione pod poniższym adresem:
http://developer.android.com/reference/android/view/animation/package-summary.html
W dokumentacji języka Java wymienione są również znaczniki XML, pozwalające na kontro-
lowanie każdej z tych klas. Jednak z dokumentacji trudno wywnioskować przeznaczenie każdego
typu interpolatora. Najlepiej jest samemu wypróbować wszystkie interpolatory i sprawdzić
skutki ich działania. Pod poniższym adresem można również przejrzeć kod zródłowy:
http://android.git.kernel.org/?p=platform%2Fframeworks%2Fbase.git&a=search&
h=HEAD&st=grep&s=BounceInterpolator
Na tym zakończymy wywody poświęcone animacji układu graficznego. Przejdziemy teraz do
trzeciej części animowania, poświęconej programowaniu animacji widoku.
Animacja widoku
Skoro zapoznaliśmy się już z animacją poklatkową oraz animacją układu graficznego, możemy
zająć się animacją widoku  najbardziej skomplikowanym rodzajem animacji. Stosowana jest
w niej technika animowania dowolnego widoku poprzez kontrolowanie macierzy transformacji,
służącej do wyświetlania widoku.
Animacja widoku
Widok wyświetlany przez Androida przechodzi przez macierz transformacji. W aplikacjach
graficznych macierze transformacji służą do przekształcenia w jakiś sposób widoku. Proces ten
polega na przetłumaczeniu wejściowego zestawu współrzędnych pikseli i kombinacji kolorów
na nowy zestaw. Po przeprowadzeniu transformacji ujrzymy obraz zmieniony pod względem
rozmiaru, pozycji, orientacji lub koloru.
Te przekształcenia można przeprowadzić za pomocą aparatu matematycznego, mnożąc w okre-
ślony sposób wejściowy zestaw współrzędnych przez wartości macierzy transformacji, dzięki
czemu powstanie nowy zestaw współrzędnych. Poprzez zmianę macierzy transformacji wpły-
wamy na wygląd widoku.
Poleć książkę
Kup książkę
534 Android 3. Tworzenie aplikacji
Macierz, która nie zmienia widoku podczas tego mnożenia, nazywana jest macierzą jednost-
kową. Transformację przeważnie rozpoczynamy od macierzy jednostkowej i kolejno wprowa-
dzamy serie transformacji rozmiaru, pozycji i orientacji. Następnie za pomocą macierzy koń-
cowej rysujemy widok.
Android odsłania taką macierz transformacji widoku poprzez umożliwienie zarejestrowania
obiektu animacji wobec tego widoku. Obiekt animacji będzie posiadał procedurę wywołania,
dzięki której uzyska dostęp do tej macierzy i w określony sposób zmieni jej wartości, co pocią-
gnie za sobą zmianę wyświetlania widoku. Zajmiemy się teraz tym procesem.
Rozpocznijmy tworzenie przykładowego projektu od zaplanowania animacji widoku. Na po-
czątek zapełnimy aktywność kilkoma elementami w widoku ListView, podobnie jak miało to
miejsce w podrozdziale  Animacja układu graficznego . Następnie w górnej części ekranu
umieścimy przycisk powodujący uruchomienie animacji ListView (rysunek 16.5). Widoczne
są zarówno lista elementów, jak i przycisk, żadna animacja nie została jednak jeszcze urucho-
miona. Do tego będzie służył utworzony przycisk.
Rysunek 16.5. Aktywność animacji widoku
Po kliknięciu przycisku Uruchom animację powinien się pojawić mały widok pośrodku ekranu,
który następnie stopniowo będzie się powiększał aż do wypełnienia zarezerwowanej dla niego
przestrzeni. Zaprezentujemy kod, który nam to umożliwi. Na listingu 16.14 został pokazany
kod pliku XML układu graficznego, nadający się do zastosowania w aktywności.
Listing 16.14. Plik XML układu graficznego dla aktywności animacji widoku
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
Poleć książkę
Kup książkę
Rozdział 16 Analiza animacji dwuwymiarowej 535
android:id="@+id/btn_animate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Uruchom animacj "
/>
android:id="@+id/list_view_id"
android:persistentDrawingCache="animation|scrolling"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/> [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • dudi.htw.pl
  • Linki
    Powered by wordpress | Theme: simpletex | © To, co się robi w łóżku, nigdy nie jest niemoralne, jeśli przyczynia się do utrwalenia miłości.