は、私はまた、このビューがマウスホイールに対応するためにしたいようビューはどのようにマウスホイールに反応しますか?
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getButtonState() == MotionEvent.BUTTON_PRIMARY) // API 14 required
...
...
}
のように、タッチ入力、右/ミドル/マウスの左クリックを区別することができますonTouch
との見解を持っています。 onTouch
は道ではなく、マウスホイールに応答する他のイベントハンドラも見つかりませんでした。おそらく、ビューはスクロール可能なふりをして、スクロール方法で独自のことを行うことができますか?この時点で、私はあきらめて、キーボード入力(1~9、プラス0)を使用して、マウスホイールで選択したい表示要素を選択しています。
だから、しっかりとしたヒントや少しのコードをいただければ幸いです。
キーボードとマウスを必要とするAndroidのUIが一般公開される心配はありません。アプリは開発ツールです。
EDIT:正解は以下の通りであるが、ちょうどので、この質問は将来の読者にとってより便利です、これは(わずかに編集)されて、私は結果として使用している実際のコード:
@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);
}
おそらくページアップなどのキーイベントがありますか? GoogleTVにはこれらのキーボードがありますが、スクロールホイールではなく、Dパッドについての話をすべて見つけることができます。 –
@jeffamaphone、 'Toast.makeText(this、" ke: "+ KeyEvent.keyCodeToString(keyCode)、Toast.LENGTH_SHORT).show()はアクティビティの' onKeyDown'でnice出力を生成します。マウスホイールを操作すると静かです。 –
まあ、価値があるショット。 –