前言
作為一個安卓開發(fā),想必對ButterKnife 都不陌生,注解式搞定findviewbyid,搞定view綁定,再結(jié)合插件,簡直好用到爆!然很少見到對@OnTouch注解具體使用的介紹,特此記錄!
因由
由于公司開發(fā)需要優(yōu)化交互效果,要對onClick和OnTouch都要有所響應(yīng),如果單個處理代碼太亂,而butterKnife的插件可以自動生成@OnClick 注解將點擊事件集中處理,而@OnTouch卻沒有,為了便于維護(hù),多方探索之下終于將之搞定
效果

mark
<iframe width="240" height="427" src="http://ovddupnnd.bkt.clouddn.com/device-2017-11-04-162828.mp4?autoPlay=true">
視頻可能播放不出來,那就gif將就看吧
實現(xiàn)
@OnClick({R.id.tv_back, R.id.Rl_my_info, R.id.ll_my_order, R.id.ll_my_wallet, R.id.ll_my_coupon, R.id.ll_my_massage, R.id.ll_about, R.id.ll_explain})
public void onViewClicked(View view) {
AnimUtils.clickAnimator(view);
switch (view.getId()) {
case R.id.tv_back:finish();
break;
case R.id.Rl_my_info:toast("我的資料");
break;
case R.id.ll_my_order:toast("訂單");
break;
case R.id.ll_my_wallet:toast("錢包");
break;
case R.id.ll_my_coupon:toast("優(yōu)惠券");
break;
case R.id.ll_my_massage:toast("消息");
break;
case R.id.ll_about:toast("關(guān)于");
break;
case R.id.ll_explain:toast("說明");
break;
}
}
@OnTouch({R.id.tv_back, R.id.Rl_my_info, R.id.ll_my_order, R.id.ll_my_wallet, R.id.ll_my_coupon, R.id.ll_my_massage, R.id.ll_about, R.id.ll_explain})
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: //手指按下
AnimUtils.touchDownAnimator(v);
break;
case MotionEvent.ACTION_MOVE: //手指移動(從手指按下到抬起 move多次執(zhí)行)
break;
case MotionEvent.ACTION_UP: //手指抬起
AnimUtils.touchUpAnimator(v);
break;
}
return false;
}
支持
