0
你好堆栈社区,Android设置文本位置永久不起作用
我想改变文本视图的位置。
我已经尝试了几种方法,但是对于他们来说,视图位置被设置回原来的位置。
我尝试的方式,
// 1. way
someText.setX(newPositionX);
someText.setY(newPositionY);
// 2.way
someText.x(newPositionX).y(newPositionY).setDuration(0).start();
// 3.way
someText.animate().x(newPositionX).y(newPositionY).setDuration(0).start();
//4.way
ObjectAnimator objectAnimatorX= ObjectAnimator.ofFloat(someText, "translationX", oldPositionX, newPositionX);
ObjectAnimator objectAnimatorY= ObjectAnimator.ofFloat(someText, "translationY", oldPositionY, newPositionY);
objectAnimatorX.setDuration(0);
objectAnimatorX.start();
objectAnimatorY.setDuration(0);
objectAnimatorY.start();
// 5.way
ObjectAnimator animX = ObjectAnimator.ofFloat(someText, "x", newPositionX);
ObjectAnimator animY = ObjectAnimator.ofFloat(someText, "y", newPositionY);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(animX, animY);
animSetXY.start();
对于所有这些方式,它是复位到原来的地方。
但是,当我在onTouch事件使用动画功能,例如。 someText.animate().x(newPositionX).y(newPositionY).setDuration(0).start();
它没有设置为原始坐标,更改是永久性的。这是我想要的,但我想这样做,没有触摸事件,即使用其他事件的代码的其他部分。
我的问题是
- 为什么当我使用onTouch事件虽然是暂时的,当我不使用onTouch事件的变化是永久的吗?
- 我该如何实现永久设置文本位置?
最后我的XML是像这样的TextView
`<TextView
android:id="@+id/latinBigTextView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:background="@drawable/border_text"
android:text="Initial text " />`