oparta jest na Animator i została przeportowana w projekcie NineOldAndroids dla starszych platform • możemy w prosty sposób animować obiekty (pod)typu View, klatki animacji są interpolowane na podstawie definicji przekształceń, najczęściej z plików XML Animation anim = AnimationUtils.loadAnimation(ctx, R.anim.myanim); view.startAnimation(anim); • przykład zmiany przezroczystości <?xml version="1.0" encoding="utf-8" ?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:startOffset="0" android:duration="5000"> </alpha> </set> • aby reagować na zmiany stanu animacji, warto zaimplementować android.view.animation.Animation.AnimationListener
android:fromXScale="1.0" android:fromYScale="1.0" android:toXScale="2.0" android:toYScale="2.0" android:duration="2000" /> • sekwencje w węźle <set> układamy korzystając z właściwości startOffset i duration • przykład obrotu <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="5000" /> • przykład przesunięcia <translate android:toXDelta="100[%][p]" android:duration="2500" /> • wszystkie animacje w formie XML można również tworzyć w sposób programowy
m.in. AccelerateInterpolator, AnticipateInterpolator, BounceInterpolator, CycleInterpolator, OvershootInterpolator • aplikujemy je jako właściwości w XML dla węzła <set> android:interpolator="@android:anim/bounce_interpolator" • możemy tworzyć również własne interpolatory oraz modyfikować istniejące . . . . .
i opcjonalnie animuje przejścia między nimi setInAnimation(ctx, android.R.anim.slide_in_left); setOutAnimation(ctx, android.R.anim.slide_out_right); showNext(); showPrevious(); setDisplayedChild(index); setFlipInterval(5000); setAutoStart(true); startFlipping(); stopFlipping(); • umieszczamy komponent w layoucie danego ekranu a w jego środku widoki, które mają być animowane
bliskości temperatury ciśnienia przyspieszenia pola magnetycznego • możemy zgłosić w manifeście wymaganie posiadania czujnika przez urządzenie <uses-feature android:name="android.hardware.sensor.proximity" /> • symulowanie odczytów w emulatorze zapewnia projekt Sensor Simulator
pomocnicze wykorzystywany prąd w mA maksymalną przyjmowaną wartość rozdzielczość czujnika nazwę producenta, typ i wersję • korzystamy z pakietu android.hardware • najczęściej wykorzystujemy akcelerometr, spoczywający telefon powinien zwrócić odczyty (0, 0, 9.81) w osiach X, Y i Z, podaje on siły działające na urządzenie uwzględniając grawitację • orientację ekranu odczytujemy z Display.getRotation()/getOrientation()*