0

ダブルクリックとロングタップでコンテキストメニューを作成する必要があります。どのようにそれを行うことができますか?

通常onCreateContextMenu、ユーザーがウィジェットを長押しすると呼び出されます。私の場合、ユーザーがウィジェットをダブルクリックしたときに同じことをする必要があります。

追加した

Android UIでは通常ではないため、これはあまり良いオプションではないことを私は知っています。しかし、私の主な問題は、一部のベンダーのデバイス、つまりHTCのUIバグを解決することです(この投稿を参照してください)。説明されている問題は解決したようですが、それでもコンテキストメニューに問題があります。したがって、最後の手段として、ダブルクリックをタップしないように考えました。理解してくれてありがとう...

4

1 に答える 1

1

私が収集したものから、あなたはあなたが結びつけたい文脈依存の行動を持っていますEditText、そしてAndroidへのHTCの変更はそれを妨げています。

まず、コンテキストメニューは特に見つけられないため、ほとんどのユーザーが見つけられないため、一般的にコンテキストメニューの使用を再検討します。

第二に、の場合EditText、ダブルタップでコンテキストメニューが表示されることを発見するユーザーのオッズは、地球が今日絶滅レベルの小惑星ストライキを起こすオッズと同等になります。

::空を見上げる::

ダブルタップではなく、1つのオプションは、下向きの矢じり(に似ています)を使用ImageButtonして、に隣接して小さなものを配置し、それを(理想的ですが、APIレベル11のみ)、、、または。または、ピンチで、を介してクリックしたときにコンテキストメニューを表示します。これも非標準のUXですが、Androidと他のOSの両方から、ユーザーが下矢印ボタンを押すとポップアップするものに慣れているため、少なくともより発見しやすくなっています。EditTextSpinnerImageButtonPopupMenuPopupWindowAlertDialogImageButtonshowContextMenu()

If you are absolutely convinced that you need a double-tap, AFAIK that is not a recognized touch event, so you will need to handle the low-level touch events yourself, determine when a double-tap occurs, and do so in a way that does not interfere with the usage of the EditText (e.g., setting cursor position).

于 2011-06-30T17:59:01.793 に答える