2011-09-06 6 views
7

Quiero crear una animación para el texto, como en el aeropuerto, el horario del vuelo. Dejar caer desde la parte superior y cambiar el texto en él. Aquí está la imagen. Entonces, cuando hago clic en el botón, el texto de la imagen debe cambiar con dicha animación. ¿Es posible con Android?Animación personalizada de Android, como el tablero del horario del aeropuerto

enter image description here

favor, me guía cómo puedo conseguir este tipo de animación en Android?

EDIT:

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false"> 
    <item android:drawable="@drawable/clockbg1" android:duration="150" /> 
    <item android:drawable="@drawable/clockbg2" android:duration="150" /> 
    <item android:drawable="@drawable/clockbg3" android:duration="150" /> 
    <item android:drawable="@drawable/clockbg4" android:duration="150" /> 
    <item android:drawable="@drawable/clockbg5" android:duration="150" /> 
    <item android:drawable="@drawable/clockbg6" android:duration="150" /> 
</animation-list> 

Mi Actividad de clase:

public class XMLAnimation extends Activity { 
private static AnimationDrawable animation; 
private ImageView refresh; 

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 

    refresh = (ImageView) findViewById(R.id.simple_anim); 
    refresh.setBackgroundResource(R.drawable.loader_animation); 
    animation = (AnimationDrawable) refresh.getBackground(); 
} 

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    animation.start(); 
} 

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

Ahora cómo colocar texto animado verticalmente en estas imágenes lo que parece que la animación que quería crear?

Gracias, AndroidVogue

+0

Usted me dio un buen trabajo por hacer :) – ingsaurabh

+0

@ingsaurabh, sí lo es. Quiero implementarlo para mi pequeño proyecto. –

+0

@AndroidVogue ¿Te refieres Like HTC Mobile have Digital Clock have. – Herry

Respuesta

0

Tengo una biblioteca en funcionamiento. Originalmente desarrollado por otra persona pero proporcioné soporte para la versión anterior de Froyo. Espero que esto te pueda ayudar.

AbhanFlipView

Ref:

Biblioteca tecnica: Emil Sjölander animaciones creadas por: Jake Wharton

ACTUALIZACIÓN

Se ha nombrado un documento HowTo.txt muestra cómo integrar.

Gracias.

+0

Impresionante. Gracias a @Abhan, @JakeWharton, @EmilSjolander. Finalmente puedo integrarme en el proyecto para reemplazar la vieja idea usando imágenes con animación como lo hace 'HTC '. Muchas gracias chicos. –

+0

ha sido eliminada la biblioteca? error 404. –

+0

@AmolGupta Sí, lamentablemente, se eliminó todo el repositorio. Lo siento por los inconvenientes ocasionados. Estoy seguro de que obtendrá algún tipo de proyecto de código abierto. –

1

No es exactamente lo que quiere, pero hay un bonito 3 partes tutorial por Kevin Dion que comienza here para crear un widget odómetro personalizada que se ve algo como lo que quiere. Debería ayudarlo a comenzar.

Para obtener el efecto de la mitad superior de las letras cayendo (si eso es lo que desea), puede falsificarlo dibujando la letra en una imagen de búfer y luego escalando la extensión vertical de la letra para obtener un acortamiento efecto.

+0

Gracias por la inicial. Trabajaré en eso. –

+0

¿Podría dejarme saber cómo escalar el texto en posición vertical? He usado la animación para voltear la página y la página volteando verticalmente como quiero pero sin tener una idea acerca de la animación de texto. He actualizado mi código. Por favor échale un vistazo. Gracias –

+0

Llamemos a cada mitad de la pantalla una "hoja".Para dibujar una letra, procedo de esta manera: crea dos mapas de bits del tamaño de una hoja. Dibuje la letra en ambos mapas de bits, escale y coloque el texto de modo que la mitad cubra un mapa de bits y la mitad cubra el otro. A continuación, dibuje cada Bitmap en su hoja correspondiente utilizando la versión de escalado/traducción de [Graphics.drawBitmap] (http://developer.android.com/reference/android/graphics/Canvas.html#drawBitmap (android.graphics.Bitmap, android) .graphics.Rect, android.graphics.Rect, android.graphics.Paint)) después de calcular la escala necesaria para cada mitad. –

Cuestiones relacionadas