最近,在做一个按钮发散的效果动画,但发现动画执行后,原来按钮的点击事件并不执行,经过查阅资料才发现原来是按钮在动画以后,在点击事件监听的位置还是原来的位置,所以,在执行完动画后,应把控件的位置移动到动画结束的位置,具体代码如下:
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) {
}
});
demo下载
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。