Android 控制元件使用Animator動畫後,點選事件失效解決方法
阿新 • • 發佈:2019-02-18
原因:動畫只是改變了該控制元件的顯示位置; 實際位置未發生改變
解決方法: 使用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