我想了解Android中可点击的内容。我有一个简单的Button子类,它覆盖了onTouchEvent()并且还实现了OnTouchListener.onTouch()(返回false以让事件冒泡到视图中)并且我注意到使用MotionEvent.ACTION_DOWN调用回调(首先是监听器,视图方法稍后),仅此而已。我认为clickable = false完全禁用了触摸事件,但显然没有。它到底是做什么的?我怎样才能确保视图根本没有得到任何触摸事件(setEnabled(false)似乎根本不起作用,ACTION_DOWN,_MOVE和_UP的事件不受阻碍地触发)。 为什么一些触摸事件被处理而另一些不是clickable = false?我发现它非常令人惊讶的行为和不一致 - 我希望也可以解雇MotionEvent.ACTION_UP,但也许不应该调用点击监听器。有什么指导吗?
更新使用setEnabled(false)仅调用View.onTouchEvent方法,将忽略侦听器。更奇怪......
答案 0 :(得分:0)
据我所知,setClickable用于在单击它时调用onClickListener,而ACTION_DOWN,ACTION_MOVE,ACTION_UP等操作用于在OnTouchListener中处理View上的手指事件。