onTouch
次のように、タッチ入力とマウスの左/中/右クリックを区別できるビューがあります。
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getButtonState() == MotionEvent.BUTTON_PRIMARY) // API 14 required
...
...
}
また、このビューがマウスホイールに反応するようにしたいと思います。 onTouch
方法ではなく、マウスホイールに応答する他のイベントハンドラーも見つかりませんでした。たぶん、ビューはスクロール可能なふりをして、スクロールメソッドで独自のことをすることができますか? この時点で、私はあきらめて、キーボード入力 (1 から 9 に加えて 0) を使用して、マウスホイールで選択したい表示要素を選択しています。
したがって、しっかりしたヒントまたは少しのコードをいただければ幸いです。
キーボードとマウスを必要とする Android UI が公開されることを心配する必要はありません。アプリは開発ツールです。
編集: 正しい答えを以下に示しますが、この質問が将来の読者にとってより役立つように、これは (少し編集された) 結果として使用している実際のコードです:
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
if (0 != (event.getSource() & InputDevice.SOURCE_CLASS_POINTER)) {
switch (event.getAction()) {
case MotionEvent.ACTION_SCROLL:
if (event.getAxisValue(MotionEvent.AXIS_VSCROLL) < 0.0f)
selectNext()
else
selectPrev();
return true;
}
}
return super.onGenericMotionEvent(event);
}