как масштабировать анимированный вид текста Android вправо - PullRequest
6 голосов
/ 30 ноября 2011

Я пытаюсь, чтобы текст поступал с левой стороны экрана, и когда он дойдет до своей позиции, я хочу, чтобы текст масштабировался по направлению к правой стороне TextView. Это файл анимации.

<?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>

Я также делаю это, когда текст поступает с правой стороны, и это прекрасно работает. Это где textViews находятся в макете

    <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

Ответы [ 2 ]

1 голос
/ 05 февраля 2015

установить android:pivotX="100%" для масштабирования в файле анимации XML.

И в файле Java:

Animation anim = AnimationUtils.loadAnimation(context, R.anim.yourAnimation);
yourTextView.startAnimation(anim);
0 голосов
/ 20 мая 2012

Сохраните файл в новой папке res / anim.

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

Как тебе требуется.

...