簡體   English   中英

如何將視圖從 Y position 移動到另一個 Y

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM