0

每当我使用TranslateAnimation将对象移动到新位置时,由于某种原因,该对象的触摸目标仍保留在旧位置。

我该如何改变这种行为?

例如。

public static void hideViewUp (View v, int duration) {

            AnimationSet animSet = new AnimationSet(true);
            animSet.setFillAfter(true);
            animSet.setDuration(duration);
            AlphaAnimation alp = new AlphaAnimation(1.0f, 0);
            TranslateAnimation translate = new TranslateAnimation(Animation.RELATIVE_TO_SELF,
                    Animation.RELATIVE_TO_SELF,
                    Animation.RELATIVE_TO_SELF,
                    -(v.getTop() + v.getHeight()));
            animSet.addAnimation(translate);
            animSet.addAnimation(alp);
            v.startAnimation(animSet);

    }
4

1 回答 1

0

无需发布任何示例代码 - 这个问题确实是众所周知且普遍的。

TranslateAnimation 和所有其他旧类型的动画仅更改绘制变换矩阵。这些动画不应该用于永久移动项目。

要真正将视图移动到新位置,请使用 ObjectAnimator。

这是一个例子:http ://www.android-app-market.com/animations-in-android-translate-animation-alpha-animation-object-animation.html

于 2015-05-21T15:41:19.823 回答