如何将Android文本视图向右缩放动画化

6

我试图让文本从屏幕左侧进入,并在到达其位置时使文本向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>

我也在处理从右侧输入的文本,这方面工作得很好。 以下是布局中TextView的位置:

    <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

请提供一个问题。具体是什么不起作用,以及它如何不正确地工作? - Warpzit
尝试在要缩放到右侧的文本中添加 android:gravity="right"。这将使文本对齐视图的右侧。 - Russ
2个回答

1
请在动画的XML文件中设置android:pivotX="100%"以进行缩放。
而在Java文件中:
Animation anim = AnimationUtils.loadAnimation(context, R.anim.yourAnimation);
yourTextView.startAnimation(anim);

0

将文件保存在新文件夹res/anim中。

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

按照您的要求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接