android Animation動畫平移之後不響應點選事件
阿新 • • 發佈:2019-01-28
一.概述
當我們給view做動畫的時候,平移到某一個位置,卻發現響應不了點選事件,因為view的真實位置還在原來的地方,具體解決辦法如下.二.例項
思路:當我們完成動畫之後,手動設定view的位置,這樣就能響應view的點選事件了,具體如下private void startAnim() { TranslateAnimation translateAnimation = new TranslateAnimation(0, 100, 0, 100); translateAnimation.setDuration(1000); translateAnimation.setFillAfter(true); iv_laucher.startAnimation(translateAnimation); translateAnimation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { //清除動畫 iv_laucher.clearAnimation(); LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) iv_laucher.getLayoutParams(); params.leftMargin = params.leftMargin + 100; params.topMargin = params.topMargin + 100; iv_laucher.setLayoutParams(params); } @Override public void onAnimationRepeat(Animation animation) { } }); }
這種方式不行,因為需要做很多次適配,讀者應該使用屬性動畫!切記。