Blog para desarrollo de aplicaciones en Android, aprende paso a paso como crear aplicaciones.

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación para mostrarle publicidad personalizada y realizar análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más

Como crear una Animation en Android

Android Animation Example

Hola amigos continuamos aprendiendo poco a poco y vamos obteniendo mas conocimiento sobre Android y su desarrollo. Creamos aplicaciones cada día y vamos compartiendo todo el conocimiento nuevo con nuestra comunidad crecemos mas y aprendemos mas.

En esta ocasión les traemos el tutorial de Animaciones en Android crear efectos para nuestras aplicaciones y les mostrare como hacerlo.

Crear Proyecto Android Animation Example (Aquí)

Crearemos nuestra aplicación para desarrollar este ejemplo de Animaciones en Android.
Android Studio - Animation

Animation Layout Design Example

Crearemos el diseño de nuestra aplicación para desarrollar las Animaciones de Android. Y comenzaremos creando los Layout de cada efecto que vamos a enseñar.

La animación en aplicaciones de Android es el proceso de crear movimiento y cambio de forma. Las formas básicas de animación que veremos en este tutorial son:
  • Fade In Animation
  • Fade Out Animation
  • Cross Fading Animation
  • Blink Animation
  • Zoom In Animation
  • Zoom Out Animation
  • Rotate Animation
  • Move Animation
  • Slide Up Animation
  • Slide Down Animation
  • Bounce Animation
  • Sequential Animation
  • Together Animation

Android Animation Layout

Creamos un directorio de recursos bajo el nombre de la carpeta res anim para mantener todos los archivos xml que contienen la lógica de la animación. Lo que sigue es un archivo xml de muestra que muestra una lógica de código de animación de Android.
Android Studio - Animation

sample_animation.xml


<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 android:duration="300"
 android:fillAfter="true"
 android:fromXScale="0.0"
 android:fromYScale="0.0"
 android:toXScale="1.0"
 android:toYScale="1.0" />

android: interpolator: Es la tasa de cambio en la animación. Podemos definir nuestros propios interpoladores usando el tiempo como la restricción. En el código xml anterior, se asigna un interpolador incorporado
android: duration: duración de la animación en la que debe completarse la animación. Son 300ms aquí. Esta es generalmente la duración ideal para mostrar la transición en la pantalla.
El inicio y el final de la animación se establecen usando:

android:fromTRANSFORMATION
android:toTRANSFORMATION

TRANSFORMATION: es la transformación que queremos especificar. En nuestro caso, comenzamos con una escala xey de 0 y terminamos con una escala xey de 1
android: fillAfter: property especifica si la vista debe estar visible u oculta al final de la animación. Lo hemos establecido visible en el código anterior. Si se establece en falso, el elemento cambia a su estado anterior después de la animación
android: startOffset: es el tiempo de espera antes de que comience una animación. Esta propiedad se usa principalmente para realizar múltiples animaciones de forma secuencial
android: repeatMode: esto es útil cuando quieres que la animación se repita
android: repeatCount: Esto define el número de repeticiones en la animación. Si establecemos este valor en infinito, la animación se repetirá infinitamente

Fade In Animation

face_in.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:fillAfter="true" >
 <alpha
 android:duration="1000"
 android:fromAlpha="0.0"
 android:interpolator="@android:anim/accelerate_interpolator"
 android:toAlpha="1.0" />
</set>

Aquí alpha hace referencia a la opacidad de un objeto. Un objeto con valores alfa más bajos es más transparente, mientras que un objeto con valores alfa más altos es menos transparente, más opaco. El fundido en la animación no es más que aumentar el valor alfa de 0 a 1.

Fade Out Animation

fade_out.xml
<set xmlns: android = "http://schemas.android.com/apk/res/android"
     android: fillAfter = "true">
     <alpha
         android: duration = "1000"
         android: fromAlpha = "1.0"
         android: interpolator = "@ android: anim / accelerate_interpolator"
         android: toAlpha = "0.0" />
</set>
El desvanecimiento de la animación de Android es exactamente lo contrario al desvanecimiento, donde tenemos que disminuir el valor alfa de 1 a 0.

Cross Fading Animation

El fundido cruzado se está desvaneciendo en la animación en un TextView mientras que el otro TextView se está desvaneciendo. Esto se puede hacer utilizando fade_in.xml y fade_out.xml en los dos TextViews. El código será discutido en MainActivity.java

Blink Animation

blink.xml
<set xmlns: android = "http://schemas.android.com/apk/res/android">
     <alpha android: fromAlpha = "0.0"
         android: toAlpha = "1.0"
         android: interpolator = "@ android: anim / accelerate_interpolator"
         android: duration = "600"
         android: repeatMode = "reverse"
         android: repeatCount = "infinito" />
</set>
Aquí, el fundido de entrada y el de salida se realizan infinitamente en el modo inverso cada vez.

Zoom en la animación

zoom_in.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true">
    <escala
        xmlns: android = "http://schemas.android.com/apk/res/android"
        android: duration = "1000"
        android: fromXScale = "1"
        android: fromYScale = "1"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: toXScale = "3"
        android: toYScale = "3">
    </scale>
</set>
Usamos pivotX = "50%" y pivotY = "50%" para realizar el zoom desde el centro del elemento.

Alejar la animación

zoom_out.xml
<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true">
    <escala
        xmlns: android = "http://schemas.android.com/apk/res/android"
        android: duration = "1000"
        android: fromXScale = "1.0"
        android: fromYScale = "1.0"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: toXScale = "0.5"
        android: toYScale = "0.5">
    </scale>
</set>
Tenga en cuenta que android: from y android: to son opuestos en zoom_in.xml y zoom_out.xml.

Girar animación

rotate.xml
<set xmlns: android = "http://schemas.android.com/apk/res/android">
    <rotar android: fromDegrees = "0"
        android: toDegrees = "360"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: duration = "600"
        android: repeatMode = "reiniciar"
        android: repeatCount = "infinito"
        android: interpolator = "@ android: anim / cycle_interpolator" />
</set>
Aquí se usa una etiqueta from / toDegrees para especificar los grados y se usa un interpolador cíclico.

Mover la animación

move.xml

<establecer
    xmlns: android = "http://schemas.android.com/apk/res/android"
    android: interpolator = "@ android: anim / linear_interpolator"
    android: fillAfter = "true">
   <traducir
        android: fromXDelta = "0% p"
        android: toXDelta = "75% p"
        android: duration = "800" />
</set>

Slide Up Animation

slide_up.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true">
    <escala
        android: duration = "500"
        android: fromXScale = "1.0"
        android: fromYScale = "1.0"
        android: interpolator = "@ android: anim / linear_interpolator"
        android: toXScale = "1.0"
        android: toYScale = "0.0" />
</set>
Se logra configurando android: fromYScale = "1.0" y android: toYScale = "0.0" dentro de la etiqueta de la escala.

Deslizar hacia abajo la animación

slide_down.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true">
    <escala
        android: duration = "500"
        android: fromXScale = "1.0"
        android: fromYScale = "0.0"
        android: toXScale = "1.0"
        android: toYScale = "1.0" />
</set>
Esto es todo lo contrario de slide_up.xml.

Animación de rebote

bounce.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true"
    android: interpolator = "@ android: anim / bounce_interpolator">
    <escala
        android: duration = "500"
        android: fromXScale = "1.0"
        android: fromYScale = "0.0"
        android: toXScale = "1.0"
        android: toYScale = "1.0" />
</set>
Aquí el interpolador de rebote se usa para completar la animación en forma de rebote.

Animación Secuencial

sequential.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true"
    android: interpolator = "@ android: anim / linear_interpolator">
 
    <! - Mover ->
    <traducir
        android: duration = "800"
        android: fillAfter = "true"
        android: fromXDelta = "0% p"
        android: startOffset = "300"
        android: toXDelta = "75% p" />
    <traducir
        android: duration = "800"
        android: fillAfter = "true"
        android: fromYDelta = "0% p"
        android: startOffset = "1100"
        android: toYDelta = "70% p" />
    <traducir
        android: duration = "800"
        android: fillAfter = "true"
        android: fromXDelta = "0% p"
        android: startOffset = "1900"
        android: toXDelta = "- 75% p" />
    <traducir
        android: duration = "800"
        android: fillAfter = "true"
        android: fromYDelta = "0% p"
        android: startOffset = "2700"
        android: toYDelta = "- 70% p" />
    <! - Girar 360 grados ->
    <rotar
        android: duration = "1000"
        android: fromDegrees = "0"
        android: interpolator = "@ android: anim / cycle_interpolator"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: startOffset = "3800"
        android: repeatCount = "infinito"
        android: repeatMode = "reiniciar"
        android: toDegrees = "360"/>
</set>
Aquí se usa un android: startOffset diferente de las transiciones para mantenerlas secuenciales.

Juntos animación

together.xml

<set xmlns: android = "http://schemas.android.com/apk/res/android"
    android: fillAfter = "true"
    android: interpolator = "@ android: anim / linear_interpolator">

    <! - Mover ->
    <escala
        xmlns: android = "http://schemas.android.com/apk/res/android"
        android: duration = "4000"
        android: fromXScale = "1"
        android: fromYScale = "1"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: toXScale = "4"
        android: toYScale = "4">
    </ scale>

    <! - Girar 180 grados ->
    <rotar
        android: duration = "500"
        android: fromDegrees = "0"
        android: pivotX = "50%"
        android: pivotY = "50%"
        android: repeatCount = "infinito"
        android: repeatMode = "reiniciar"
        android: toDegrees = "360"/>
</set>

Aquí android: startOffset se elimina para permitir que sucedan simultáneamente.

Ahora diseñaremos el main_activity.xml para nuestro ejemplo de Animación en Android.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >

 <RelativeLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent">

 <Button
 android:id="@+id/btnFadeIn"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:text="Fade In" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Fade In"
 android:id="@+id/txt_fade_in"
 android:layout_alignBottom="@+id/btnFadeIn"
 android:layout_alignLeft="@+id/txt_fade_out"
 android:layout_alignStart="@+id/txt_fade_out" />


 <Button
 android:id="@+id/btnFadeOut"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnFadeIn"
 android:text="Fade Out" />


 <Button
 android:id="@+id/btnCrossFade"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnFadeOut"
 android:text="Cross Fade" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Cross Fade In"
 android:id="@+id/txt_out"
 android:visibility="gone"
 android:layout_gravity="center_horizontal"
 android:layout_alignTop="@+id/txt_in"
 android:layout_alignLeft="@+id/txt_in"
 android:layout_alignStart="@+id/txt_in" />

 <Button
 android:id="@+id/btnBlink"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnCrossFade"
 android:text="Blink" />

 <Button
 android:id="@+id/btnZoomIn"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnBlink"
 android:text="Zoom In" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Blink"
 android:id="@+id/txt_blink"
 android:layout_gravity="center_horizontal"
 android:layout_alignBottom="@+id/btnBlink"
 android:layout_alignLeft="@+id/txt_zoom_in"
 android:layout_alignStart="@+id/txt_zoom_in" />

 <Button
 android:id="@+id/btnZoomOut"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnZoomIn"
 android:text="Zoom Out" />

 <Button
 android:id="@+id/btnRotate"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnZoomOut"
 android:text="Rotate" />

 <Button
 android:id="@+id/btnMove"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnRotate"
 android:text="Move" />

 <Button
 android:id="@+id/btnSlideUp"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnMove"
 android:text="Slide Up" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Fade Out"
 android:id="@+id/txt_fade_out"
 android:layout_gravity="center_horizontal"
 android:layout_alignBottom="@+id/btnFadeOut"
 android:layout_alignLeft="@+id/txt_in"
 android:layout_alignStart="@+id/txt_in" />

 <Button
 android:id="@+id/btnSlideDown"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnSlideUp"
 android:text="Slide Down" />

 <Button
 android:id="@+id/btnBounce"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnSlideDown"
 android:text="Bounce" />

 <Button
 android:id="@+id/btnSequential"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="5dp"
 android:layout_below="@id/btnBounce"
 android:text="Sequential Animation" />

 <Button
 android:id="@+id/btnTogether"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_below="@id/btnSequential"
 android:layout_margin="5dp"
 android:text="Together Animation" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Cross Fade Out"
 android:id="@+id/txt_in"
 android:layout_gravity="center_horizontal"
 android:layout_alignBottom="@+id/btnCrossFade"
 android:layout_alignLeft="@+id/txt_blink"
 android:layout_alignStart="@+id/txt_blink" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Zoom In"
 android:id="@+id/txt_zoom_in"
 android:layout_alignBottom="@+id/btnZoomIn"
 android:layout_alignLeft="@+id/txt_zoom_out"
 android:layout_alignStart="@+id/txt_zoom_out" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Zoom Out"
 android:id="@+id/txt_zoom_out"
 android:layout_alignBottom="@+id/btnZoomOut"
 android:layout_toRightOf="@+id/btnSequential"
 android:layout_toEndOf="@+id/btnSequential" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Rotate"
 android:id="@+id/txt_rotate"
 android:layout_above="@+id/btnMove"
 android:layout_toRightOf="@+id/btnSequential"
 android:layout_toEndOf="@+id/btnSequential" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Move"
 android:id="@+id/txt_move"
 android:layout_alignBottom="@+id/btnMove"
 android:layout_alignLeft="@+id/txt_slide_up"
 android:layout_alignStart="@+id/txt_slide_up" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Slide Up"
 android:id="@+id/txt_slide_up"
 android:layout_alignBottom="@+id/btnSlideUp"
 android:layout_toRightOf="@+id/btnSequential"
 android:layout_toEndOf="@+id/btnSequential" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Slide Down"
 android:id="@+id/txt_slide_down"
 android:layout_alignBottom="@+id/btnSlideDown"
 android:layout_alignLeft="@+id/txt_slide_up"
 android:layout_alignStart="@+id/txt_slide_up" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Bounce"
 android:id="@+id/txt_bounce"
 android:layout_alignBottom="@+id/btnBounce"
 android:layout_alignLeft="@+id/txt_slide_down"
 android:layout_alignStart="@+id/txt_slide_down" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Sequential"
 android:id="@+id/txt_seq"
 android:layout_alignBottom="@+id/btnSequential"
 android:layout_alignLeft="@+id/txt_bounce"
 android:layout_alignStart="@+id/txt_bounce" />

 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:textAppearance="?android:attr/textAppearanceMedium"
 android:text="Together"
 android:id="@+id/txt_tog"
 android:layout_alignBottom="@+id/btnTogether"
 android:layout_toRightOf="@+id/btnSequential"
 android:layout_toEndOf="@+id/btnSequential" />

 </RelativeLayout>

</ScrollView>

Ahora continuaremos con el código de nuestro ejemplo Animaciones en Android.
Android Studio - Animation

MainActivity Code Android Animation Example


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
// Declaramos los controles
Button btnFadeIn, btnFadeOut, btnCrossFade, btnBlink, btnZoomIn,
btnZoomOut, btnRotate, btnMove, btnSlideUp, btnSlideDown,
btnBounce, btnSequential, btnTogether;
Animation animFadeIn,animFadeOut,animBlink,animZoomIn,animZoomOut,animRotate
,animMove,animSlideUp,animSlideDown,animBounce,animSequential,animTogether,animCrossFadeIn,animCrossFadeOut;
TextView txtFadeIn,txtFadeOut,txtBlink,txtZoomIn,txtZoomOut,txtRotate,txtMove,txtSlideUp,
txtSlideDown,txtBounce,txtSeq,txtTog,txtIn,txtOut;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Declaramos las referencias de los controles utilizados
btnFadeIn = (Button) findViewById(R.id.btnFadeIn);
btnFadeOut = (Button) findViewById(R.id.btnFadeOut);
btnCrossFade = (Button) findViewById(R.id.btnCrossFade);
btnBlink = (Button) findViewById(R.id.btnBlink);
btnZoomIn = (Button) findViewById(R.id.btnZoomIn);
btnZoomOut = (Button) findViewById(R.id.btnZoomOut);
btnRotate = (Button) findViewById(R.id.btnRotate);
btnMove = (Button) findViewById(R.id.btnMove);
btnSlideUp = (Button) findViewById(R.id.btnSlideUp);
btnSlideDown = (Button) findViewById(R.id.btnSlideDown);
btnBounce = (Button) findViewById(R.id.btnBounce);
btnSequential = (Button) findViewById(R.id.btnSequential);
btnTogether = (Button) findViewById(R.id.btnTogether);
txtFadeIn=(TextView)findViewById(R.id.txt_fade_in);
txtFadeOut=(TextView)findViewById(R.id.txt_fade_out);
txtBlink=(TextView)findViewById(R.id.txt_blink);
txtZoomIn=(TextView)findViewById(R.id.txt_zoom_in);
txtZoomOut=(TextView)findViewById(R.id.txt_zoom_out);
txtRotate=(TextView)findViewById(R.id.txt_rotate);
txtMove=(TextView)findViewById(R.id.txt_move);
txtSlideUp=(TextView)findViewById(R.id.txt_slide_up);
txtSlideDown=(TextView)findViewById(R.id.txt_slide_down);
txtBounce=(TextView)findViewById(R.id.txt_bounce);
txtSeq=(TextView)findViewById(R.id.txt_seq);
txtTog=(TextView)findViewById(R.id.txt_tog);
txtIn=(TextView)findViewById(R.id.txt_in);
txtOut=(TextView)findViewById(R.id.txt_out);
animFadeIn = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_in);

animFadeIn = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_in);
// fade in
btnFadeIn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
txtFadeIn.setVisibility(View.VISIBLE);
txtFadeIn.startAnimation(animFadeIn);
}
});

animFadeOut = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_out);

// fade out
btnFadeOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtFadeOut.setVisibility(View.VISIBLE);
txtFadeOut.startAnimation(animFadeOut);
}
});
animCrossFadeIn = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_in);
animCrossFadeOut = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_out);
// cross fade
btnCrossFade.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtOut.setVisibility(View.VISIBLE);
// start fade in animation
txtOut.startAnimation(animCrossFadeIn);
// start fade out animation
txtIn.startAnimation(animCrossFadeOut);
}
});
animBlink = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.blink);
// blink
btnBlink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBlink.setVisibility(View.VISIBLE);
txtBlink.startAnimation(animBlink);
}
});
animZoomIn = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.zoom_in);
// Zoom In
btnZoomIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtZoomIn.setVisibility(View.VISIBLE);
txtZoomIn.startAnimation(animZoomIn);
}
});
animZoomOut = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.zoom_out);
// Zoom Out
btnZoomOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtZoomOut.setVisibility(View.VISIBLE);
txtZoomOut.startAnimation(animZoomOut);
}
});
animRotate = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rotate);

// Rotate
btnRotate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtRotate.startAnimation(animRotate);
}
});
animMove = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.move);
// Move
btnMove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtMove.startAnimation(animMove);
}
});
animSlideUp = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.slide_up);
// Slide Up
btnSlideUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtSlideUp.startAnimation(animSlideUp);
}
});
animSlideDown = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.slide_down);
// Slide Down
btnSlideDown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtSlideDown.startAnimation(animSlideDown);
}
});
animBounce = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.bounce);
// Slide Down
btnBounce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBounce.startAnimation(animBounce);
}
});
animSequential = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.sequential);
// Sequential
btnSequential.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtSeq.startAnimation(animSequential);
}
});
animTogether = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.together);

// Together
btnTogether.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtTog.startAnimation(animTogether);
}
});

}
}

Y con esto quedaría listo y solo nos queda ejecutar nuestra aplicación

Crear Emulador AVD (Aquí)

Crearemos nuestro emulador para ver nuestras Animaciones en Android.
Android Studio - Animation
Y listo cualquier duda que tengan sobre la Animación en Android dejen su comentario con gusto les responderemos.

Descargar

"FORTRAN no es una flor, sino una mala hierba - que es resistente, a veces florece y crece en todos los ordenadores."
- Alan J. Perlis.

No hay comentarios:

Publicar un comentario

x

Registrate!

Curso Android Español

Curso Kotlin Español

eBook Free Android Studio

Noticias y Eventos

¡Directamente a tu INBOX!

Le enviaremos nuestros recursos gratis. Para obtener nuestro contenido nuevo, únase a nuestra comunidad. No te molestaremos enviando información inútil. ¡No te pierdas ninguna actualización, mantente conectado! Recuerda verificar tu correo electronico.

Ingrese su dirección de correo electrónico:

Entregado por FeedBurner