android textview 动画,Textview上的Android缩放动画导致文本移动

东门越
2023-12-01

我有一个动画定义为

scale.xml

xmlns:android="http://schemas.android.com/apk/res/android">

android:fromXScale="1.0"

android:fromYScale="1.0"

android:toXScale="2.0"

android:toYScale="2.0"

android:duration="3000">

通过以下方式以编程方式添加

TextView tv2 = (TextView) pw.getContentView().findViewById(R.id.playresultPopupYardsTextView);

Animation scale = AnimationUtils.loadAnimation(this, R.anim.scale);

scale.setStartOffset(5000);

scale.setFillAfter(true);

tv2.clearAnimation();

tv2.setAnimation(scale);

pw是定义为的PopupWindow

LayoutInflater inflater = (LayoutInflater) this.getSystemService(view.getContext().LAYOUT_INFLATER_SERVICE);

final PopupWindow pw = new PopupWindow(

inflater.inflate(R.layout.playresult_popup, null, false),

700,

300,

true);

布局如下

playresult_popup.xl

android:orientation="vertical"

android:padding="10dip"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="#CC667788"

>

android:id="@+id/playresultPopupPlaysTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dip"

android:gravity="center_horizontal"

android:textStyle="bold"

android:textColor="#FFFFFF"

android:textSize="22sp"

android:text=""

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dip"

android:gravity="center_horizontal"

android:textStyle="bold"

android:textColor="#FFFFFF"

android:textSize="18sp"

android:text="Yards Gained"

/>

android:id="@+id/playresultPopupYardsTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dip"

android:gravity="center_horizontal"

android:textStyle="bold"

android:textColor="#FFFFFF"

android:textSize="18sp"

android:text=""

/>

缩放动画运行时,它将按预期缩放文本,但是方式的每一步都朝着弹出窗口的右侧移动.我想知道这是否是因为我未声明枢轴点-如果是这样,我如何获得要使用的适当枢轴点,以便文本保持原样,只是按比例缩放?

我已经搜索过,但是找不到解释.

解决方法:

我想通了.我没有意识到可以将百分比值用作枢轴点.添加pivotX =“ 50%”和pivotY =“ 50%”解决了此问题.所以:

android:fromYScale="1.0"

android:toXScale="2.0"

android:toYScale="2.0"

android:pivotX="50%"

android:pivotY="50%"

android:duration="3000">

标签:android-animation,android

来源: https://codeday.me/bug/20191029/1962735.html

 类似资料: