アクションバーの開発には多くの問題があります。ここに私のニーズがあります:
アクションバーにドロップダウンを追加したいのですが、カスタムビューを使用しているため、カスタムビューが使用されています (アニメーションなど)。
ドロップダウンは、画像ボタンからアクセスできる必要があります (選択した要素のテキスト領域を表示するスピナーではありません)。
ドロップダウンを表示できる画像ボタンは、アクション バーの左側に配置する必要があります。
表示されるドロップダウンにはチェック可能なアイテムが含まれている必要があり、ユーザーがアイテムをチェックするときにドロップダウンが非表示になっていない必要があります (これにより、ユーザーは一度に複数のアイテムをチェックできます)。
私のアプリケーションは Android 2.3 から動作する必要があります (そのためにアクション バー sherlock を使用しています。Android 2.3 では PopupMenu を使用できないため、これを指定します)。
カスタム ビュー (actionBar.setCustomView(...)) とメニュー (menuInflater.inflate(...)) を組み合わせて、アクション バーにドロップダウンを追加することに成功しました。カスタムビューのコードはそれほど重要ではないと思います。ここに私のメニューのコードがあります:
<item
android:title="test"
android:drawable="@drawable/dropdown_icon"
android:showAsAction="always">
<menu>
<item
android:id="@+id/item1"
android:title="item 1"
android:checkable="true"/>
<item
android:id="@+id/item2"
android:title="item 2"
android:checkable="true"/>
<item
android:id="@+id/item3"
android:title="item 3"
android:checkable="true"/>
</menu>
</item>
このソリューションでは、次の問題があります。
- ドロップダウン項目を左に置くことができません(今のところ右にあります)
- ドロップダウン リストの項目をチェックすると、ドロップダウン自体が非表示になります。ドロップダウンが表示状態を維持することを望みます。
どうすれば私が望むものを達成できますか?
PS : お読みのとおり、英語は私の母国語ではありません。これらの問題は (私の母国語でも) 説明するのが難しいので、理解できない文章があれば教えてください。私はそれらを改善しようとします。