Android 拦截onClick事件

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

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

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

view.setEnabled(false);

你可能感兴趣的:(Android开发)