最近,在做一个按钮发散的效果动画,但发现动画执行后,原来按钮的点击事件并不执行,经过查阅资料才发现原来是按钮在动画以后,在点击事件监听的位置还是原来的位置,所以,在执行完动画后,应把控件的位置移动到动画结束的位置,具体代码如下:
translateAnimation.setFillEnabled(true); //解决移动后的闪烁问题
translateAnimation.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation arg0) {
/**由于在执行后view的位置不变,如需要写点击事件就得加上这些重新布置view**/
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) cameraImage.getLayoutParams();
params.bottomMargin += 0;
params.leftMargin += r;
cameraImage.setLayoutParams(params);
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationStart(Animation arg0) {
}
});
时间: 2024-10-24 13:38:08