2011-11-29 18 views
6

Estoy intentando que el texto entre desde el lado izquierdo de la pantalla, y cuando llegue a su posición, quiero que el texto se escale hacia el lado derecho de TextView . Este es el archivo de animación.cómo escalar la vista animada de texto de Android a la derecha

<?xml version="1.0" encoding="utf-8"?> 
<set 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- This is where the view moves onto the screen --> 
<translate 
android:fromXDelta="-200%" 
android:toXDelta="0%" 
android:fromYDelta="0%" 
android:toYDelta="0%" 
android:duration="1000" 
android:zAdjustment="top" ></translate> 
<!-- this is where I am scaling the text it currently aligns on the left side of the textview --> 
<scale 
android:fromXScale="1.0" 
android:fromYScale="1.0" 
android:toXScale=".2" 
android:startOffset="500" 
android:toYScale="1.0" 
android:duration="1000"></scale> 
<!-- I am then trying to make the text bounce over the left side of the textview --> 
<scale 
android:fromXScale="1.0" 
android:fromYScale="1.0" 
android:toXScale="7.0" 
android:startOffset="1500" 
android:toYScale="1.0" 
android:duration="200"></scale> 
<!-- I am then resetting the text to its original size --> 
<scale 
android:fromXScale="1.4" 
android:fromYScale="1.0" 
android:toXScale="1.0" 
android:toYScale="1.0" 
android:startOffset="1700" 
android:duration="50"></scale> 
</set> 

También estoy haciendo esto para cuando el texto entre desde el lado derecho y eso funciona bien. Aquí es donde el textViews están en la disposición

<TextView android:textColor="@android:color/black" android:textSize="50dip" android:layout_marginTop="40dip" android:layout_width="wrap_content" android:gravity="right" android:id="@+id/btnN" android:text="@string/play" android:layout_height="wrap_content" android:layout_marginLeft="50dip"></TextView> 

    <TextView android:textColor="@android:color/black" android:layout_marginBottom="40dip" android:textSize="50dip" android:layout_width="wrap_content" android:gravity="right" android:id="@+id/btnO" android:text="@string/option" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginLeft="50dip"></TextView> 

    <TextView android:id="@+id/btnI" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/info" android:textColor="@android:color/black" android:layout_marginRight="50dip" android:layout_marginTop="40dip" android:textSize="50dip" android:layout_alignParentRight="true"></TextView> 

    <TextView android:id="@+id/btnE" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textColor="@android:color/black" android:text="@string/exit" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="40dip" android:layout_marginRight="50dip" android:textSize="50dip"></TextView> 
</RelativeLayout> 
btnN and btnO are the ones I need to do this animation for 
+0

Sírvanse proporcionar una pregunta. ¿Qué exactamente no funciona y cómo no funciona correctamente? – Warpzit

+0

Intenta agregar 'android: gravity =" right "' al texto que desea escalar hacia el lado derecho. Esto alineará el texto en el lado derecho de la vista. – Russ

Respuesta

0

Guarde el archivo en una nueva carpeta res/anim.

Animation animation = AnimationUtils.loadAnimation(this, R.anim.urAnimation); 
urTextView.setAnimation(animation); or urTextView.startAnimation(animation); 

Como lo requiera.

0

configure android:pivotX="100%" para escalar en su archivo XML de animación.

Y en el archivo Java:

Animation anim = AnimationUtils.loadAnimation(context, R.anim.yourAnimation); 
yourTextView.startAnimation(anim); 
Cuestiones relacionadas