Android - 翻译动画

标签 android android-layout android-emulator android-widget

当我尝试在 ImageView 上应用翻译动画时,图像完全消失了。我不确定为什么会发生这种情况,因为我通过 eclipse 调试器运行了这段代码,并且 x_start 和 x_final 的值似乎是正确的。

关于为什么会发生这种情况或者我如何最终让我的 TranslateAnimation 工作有什么想法吗?

    chargeButton.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int x_cord = (int) event.getRawX();
            int y_cord = (int) event.getRawY();

            switch (event.getActionMasked()){
                case MotionEvent.ACTION_DOWN:
                    break;
                case MotionEvent.ACTION_MOVE:
                    chargeButton.setLayoutParams(setPosition(x_cord, false));
                    break;
                case MotionEvent.ACTION_UP:
                    int x_start = x_cord;
                    x_cord = 0;
                    slowMove(x_start, x_cord, false);
                    chargeButton.setLayoutParams(setPosition(x_cord, false));

                    break;
                default:
                    break;
            }
            return true;
        }
    });


}

public void slowMove(int x_start, int x_final, boolean pay)
{
    Animation transAnimation = new TranslateAnimation(x_start, x_final, 0, 0);
    transAnimation.setFillAfter(true);
    transAnimation.setDuration(1000);
    if (pay)
        payButton.startAnimation(transAnimation);
    else
    {
        chargeButton.clearAnimation();
        chargeButton.startAnimation(transAnimation);
    }
}

更多背景信息,此函数是从 MotionEvent.ACTION_UP 情况下的 onTouchListener 调用的。

觉得好像我需要使用 Animation.Relative_TO_SELF 或类似的东西来定位。但是,当我只有 ImageViews 的绝对定位 时,我不确定该怎么做。

我们将不胜感激任何和所有的想法。

最佳答案

不要使用布局参数来移动 View - 这真的不是一个好主意。我一直沿着那条路走下去,但没有什么好结果。

考虑扩展 View 并设置您自己的自定义 View ,您可以在其中完全控制发生的事情。

关于Android - 翻译动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192417/

相关文章:

android - 在 Android 中创建交互式防火墙应用程序

android - 如何让安卓模拟器进入休眠模式?

android - 操作栏选项卡不会在 android 中填满屏幕

android - 如何使用 isInEditMode() 在编辑器中查看带有自定义 View 的布局

Android Studio 3.0 Canary 4 模拟器卡在重启中

java - 即使存在数据,Android TextView 也不会在 setText 上显示数据

android - 在线性布局中居中图像

android - 当设备在我的用户目录中时,为什么 Android 模拟器会报告 "unknown virtual device"?

java - 不可用的共享库 - INSTALL_FAILED_MISSING_SHARED_LIBRARY

android - 房间持久化库(依赖问题),MVVM设计模式