Home / Programmazione / Java Android / Usare le animazioni in Android
Mattepuffo

Usare le animazioni in Android

Usare le animazioni in Android

Impostare le animazioni nelle nostre app in Android non è per nulla difficile, almeno per quelle di base.

Android, inoltre, già fornisce alcune animazioni di base, ma noi ne andremo a creare una nostra.

La nostra animazione farà si che la view parta dall'angolo superioe a sinistra, per spostarsi verso il centro dello schermo.

Prima di tutto dentro alla cartella res creiamo una cartella denominata anim; questa conterrà le nostre animazioni in formato XML.

Per il nostro scopo ci serviranno due file, uno per la posizione di partenza e uno per quella finale.

Cominciamo dal secondo, che ho chiamato zero.xml:

<?xml version="1.0" encoding="utf-8"?>

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="0"
    android:toYDelta="0" />

Altro non faccio che impostare le coordinate X e Y da zero a zero.

 

Come potete immaginare, le coordinate di partenza saranno diverse; creiamo quindi il secondo file, che ho chiamato pull_in_left.xml:

<?xml version="1.0" encoding="utf-8"?>

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500"
    android:fromXDelta="-100%"
    android:fromYDelta="-100%"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="0%"
    android:toYDelta="0%" />

Come vedete qua ho impostato le coordinate di partenza a -100% sia per X che per Y, e poi a zero quelle finali.

A questo punto siamo pronti per usarle.

Se vogliamo usare l'animazione in avvio di Activity:

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        overridePendingTransition(R.anim.pull_in_left, R.anim.zero);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_layout);
    }

Come prima cosa richiamiamo il metodo overridePendingTransition, al quale passiamo due parametri (le animazioni).

Come vedete è stato abbastanza semplice.

Ciao!