1. 程式人生 > >android Animation動畫平移之後不響應點選事件

android Animation動畫平移之後不響應點選事件


一.概述

          當我們給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) {
            }
        });
    }

這種方式不行,因為需要做很多次適配,讀者應該使用屬性動畫!切記。