android:clickableを追う
2020/07/07
Viewのandroid:clickableとタッチイベント消費の関係 結論
android:clickable="true"のときタッチイベントはそのViewに消費される
登場するフラグ・変数
CLICKABLE
Indicates this view can be clicked.
When clickable, a View reacts to clicks by notifying the OnClickListener.
LONG_CLICKABLE
Indicates this view can be long clicked.
When long clickable, a View reacts to long clicks by notifying the OnLongClickListener or showing a context menu.
CONTEXT_CLICKABLE
右クリックのこと
Indicates this view can be context clicked.
When context clickable, a View reacts to a context click (e.g. a primary stylus button press or right mouse click) by notifying the OnContextClickListener.
TOOLTIP
ボタンの上とかにピョコって出てくるやつ
Indicates this view can display a tooltip on hover or long press.
DISABLED
This view is disabled.
mTouchDelegate
clickable = CLICKABLE || LONG_CLICKABLE || CONTEXT_CLICKABLE
mTouchDelegete != nullのとき
タッチイベントは消費される
ViewがDISABLEDのとき
clickableを返す
clickable == trueならタッチイベントは消費される
A disabled view that is clickable still consumes the touch events, it just doesn't respond to them.
clickable == trueか、TOOLTIPのとき
switchを抜けると必ずtrueが返るので、タッチイベントは消費される タッチイベントは消費されない