android - 动画只工作一次

标签 android animation

我正在尝试为 ImageButton 制作动画,以便每次单击它时它都会移动一点。但是由于某些原因,动画只工作一次。

代码:

public void ballClicked(View v) {

        imgBtn.clearAnimation();
        imgBtn.animate().translationX(50).setDuration(500).start();
        imgBtn.animate().translationY(50).setDuration(500).start();

        oldX = oldX+50;
        oldY = oldY+50;
        imgBtn.setClickable(false);

        // Using this as Animation Listener doesn't trigger when the animation finish
        new Handler().postDelayed(new Runnable() {
            public void run() {
                imgBtn.setX((float)oldX+50);
                imgBtn.setY((float)oldY+50);
                imgBtn.setClickable(true);
            }
        }, 500);

    }`

最佳答案

这会起作用!

public void ballClicked(View v) {

    imgBtn.clearAnimation();

    oldX = oldX + 50;
    oldY = oldY + 50;

    imgBtn.animate().translationX(oldX).setDuration(500).start();
    imgBtn.animate().translationY(oldY).setDuration(500).start();

    new Handler().postDelayed(new Runnable() {
        public void run() {
            imgBtn.setX((float) oldX + 50);
            imgBtn.setY((float) oldY + 50);

        }
    }, 500);


}

关于android - 动画只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42031223/

相关文章:

java - Libgdx 如何设置闹钟?

android - 带滚动的多色条形图

CSS3 动画波浪效果

android - 使用 PhoneGap,无法仅在 Android 上使用 Ajax 加载本地 .html 文件

android - 附加数据库在 Android 上给出 "database is already in use"

java - 为什么来自BluetoothSocket的输入/输出流被评估为NOT null,然后抛出空指针异常?

javascript - 以暂停方式在循环中单独设置动画 Div

javascript - 将图像序列绑定(bind)到滚动事件

css - 如何在 React 中为条件元素设置动画

javascript - Chartjs Donut Chart倒计时中的平滑动画