0

我已经使用 TranslateAnimation 从左到右移动了按钮,但是在该按钮之后单击listiner 不适用于新位置。

4

2 回答 2

2

使用时,您的实际按钮位置不会改变TranslateAnimation。它只更新Canvas用于绘制按钮的转换矩阵。因此,您的按钮位于同一位置并从原始区域调度触摸事件,并且仅在新位置绘制。

于 2012-07-16T08:20:21.417 回答
0

只需setFillAfter(true)在代码或android:fillAfterxml 中使用。

http://developer.android.com/reference/android/view/animation/Animation.html#attr_android:fillAfter

http://developer.android.com/reference/android/view/animation/Animation.html#setFillAfter(boolean )

这里还有另一个解决方案,在结束事件上使用动画并设置对象的布局。

http://pastebin.com/5dwzdJjG

另一方面,您可以使用两个按钮,一个是您当前的按钮,第二个按钮放置在动画的最后一个位置,直到动画结束才可见,在动画结束时,只需将第一个按钮设置为不可见并且可见第二个。

于 2012-07-16T16:15:50.353 回答