1. 程式人生 > >Android 控制元件使用Animator動畫後,點選事件失效解決方法

Android 控制元件使用Animator動畫後,點選事件失效解決方法

原因:動畫只是改變了該控制元件的顯示位置; 實際位置未發生改變
解決方法: 使用ValueAnimator動畫 屬性動畫

 /** 獲得value物件.通過構造器 並且 傳遞 需要移動的引數   兩引數(起始位置,結束位置 ) */
  ValueAnimator value = ValueAnimator.ofFloat(-200f, 300);
  /** 動畫執行時間 */
  value.setDuration(3000);
  /** 新增 動畫改變的監聽事件。當動畫啟動了 就會呼叫這個接口裡面的方法 */
  value.addUpdateListener(new AnimatorUpdateListener() {
   public void onAnimationUpdate(ValueAnimator animation) {
    /** 把tv 移動到Y軸的什麼地方 */
    btn.setX((Float) animation.getAnimatedValue());
    btn.setY(100);
    /** 重新整理view */
    btn.invalidate();
   }
  });

如果有任何疑問 或 建議 歡迎留言或者聯絡作者; QQ:1056816512