2010-11-19 9 views
6

私はAndroidアプリケーションでOptionsメニューを実行しており、onCreateOptionsMenu、onOptionsItemSelectedおよびonPrepareOptionsMenuメソッドをオーバーライドしてメニューを少しカスタマイズしました。Android - オプションメニューを開いたままにする

私の質問は、メニュー項目をクリックした後に[オプション]メニューを開いたままにすることに関連しています。基本的には、ユーザーがデバイスのメニューキーをクリックするまでメニューを非表示にしたいと思っています。ユーザーがこのキーをクリックすると、ユーザーがメニュー項目を何回クリックしたかにかかわらず、メニューを保持することができます。ユーザーがオプションメニューを非表示にしたい場合、デバイスメニューキーをもう一度クリックするだけです。

このタイプの対話はサポートされていますか(または推奨していますか)。このインタラクションがサポートされていない場合は、代替案は歓迎されるものではありません。

乾杯!

ショーン

答えて

3

これはonCreateOptionsMenuや他の方法では不可能だろう。彼らは常にそのように行動します。

しかし、あなたは別の方法でそれを行うことができます。しかし、メニュー全体を自分でプログラムする必要があります。基本的には、layout.xmlにメニューを追加し、それを隠す(visibility = gone)ようにします。次に、onKeyDownメソッドを上書きします。メニューキーかどうかをチェックします。メニューがまだ開いていない場合は、メニューを表示します。開いている場合は、非表示にします。

はあまりにも難しくありません。良いことは、あなたが望むようにメニューを正確に見せて、それがあなたが望むように反応させることができるということです。

+0

ありがとうパトリック - 自分でメニューを隠したり表示したりする可能性についても考えていませんでした。 – seanoshea

関連する問題