我已使用TranslateAnimation从左向右移动按钮,但在该按钮后单击列表器不适用于新位置。
答案 0 :(得分:2)
使用TranslateAnimation
时,您的实际按钮位置不会更改。它仅更新用于绘制按钮的Canvas
的转换矩阵。因此,您的按钮位于同一位置,并从原始区域发送触摸事件,仅在新位置绘制。
答案 1 :(得分:0)
只需在代码中使用setFillAfter(true)
或在xml中使用android:fillAfter
。
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)
此处还有另一种解决方案,可以在结束事件中使用动画并设置对象的布局。
另一方面,您可以使用两个按钮,一个是您当前的一个,第二个是放置在动画的最后一个位置,直到动画结束时不可见,在动画结束时只设置不可见的第一个第二个可见。