[英]How can I move View from Y position to another Y
我有一個按鈕,我想按下按鈕 animation。 我做到了,但是功能留在了以前的位置(就像按鈕移動但是如果我點擊它,它不起作用,但是如果我點擊它之前的 position 它會起作用)
Animation logbtn = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.logbtnanim);
button.startAnimation(logbtn);
animation 代碼是這樣的。
PS Parent 是約束布局。
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<translate
android:fromYDelta="0"
android:toYDelta="100"
android:duration="1000"/>
</set>
首先,如果你只有一個 animation,你不需要 AnimatorSet 標簽。如果你想一起播放多個動畫,可以使用它。
其次,您使用的是TranslateAnimation ,它不會為 Buttons 屬性設置動畫,它只會移動屏幕上的像素,因此在 animation 之后,Android 仍然認為視圖位於舊的 position,這就是為什么它仍然可以在那里單擊的原因。
我建議使用ViewPropertyAnimator在 Java 代碼中執行此操作,例如:
button.animate().translationY(...f).duration(1000);
或ObjectAnimator ,它更靈活一些,因為您也可以在 xml 中執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.