天天看点

Android 拦截onClick事件

当我们使用FrameLayout布局时,发现如果顶层的View没有消费到onClick时间的话,这个时间会传到下面的View的,解决这个问题的办法是把这个时间消费掉。

可以用下面的方法:

view.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // do nothing
    }
});
           

当时我们发现,虽然事件没有传递下去,但是点击上面的view是有点击效果的,比如发出声音等,那么只需要用下面代码再设置一下就行了

view.setEnabled(false);
           

继续阅读