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 " />`