實(shí)現(xiàn)想法
很簡(jiǎn)單View消費(fèi)自己點(diǎn)擊事件是要觸發(fā)onTouchEvent方法越平,只需要自定義一下View昌跌,并重寫onTouchEvent返回false表示不消費(fèi)事件仰禀,然后再調(diào)用performClick觸發(fā)點(diǎn)擊事件。
不多說了蚕愤,直接上代碼
public class AdminView extends View {
public AdminView(Context context) {
super(context);
}
public AdminView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public AdminView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public AdminView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//觸發(fā)自身點(diǎn)擊事件
performClick();
return false;//但是不消費(fèi)此事件
}
}