23

オーバーフロードロップダウンメニューにメニュー項目のタイトルに加えてアイコンを表示したい。

可能ですか?

4

6 に答える 6

2

このような答えは嫌いですが、私はもっと良い答えを出すのに十分ではありません。

メニューのオーバーフロー項目のアイコンは、submenu2行「subMenu2Item.setIcon(R.drawable.ic_launcher);」です。ic_launcherをアイコンファイル(プログラムのres drawableディレクトリ内)に置き換えるだけです。ActionBarSherlockを使用することを意味します。

行subMenu1Item.setIcon(R.drawable.ic_launcher); 上部のメニューボタンのアクションバーアイコン用です。

「これは設計上不可能です」への応答

グーグルが世界を乗っ取ろうとし、コートの尻尾に乗せてくれたことに感謝しますが、しかし...グーグルは一貫性がありすぎて、矛盾に不機嫌になることはできません。Googleが提供するAPIのすべての「セット」の例を作成できれば素晴らしいと思います。コードへのAPI参照はありますが、それらを組み合わせる方法についての例はありません。APKとして実行できる完全に機能する例がすべて私が望むものです。私はそこからそれをだますことができます。彼らがAPKを書くのに時間がかかるとしたら、標準のテンプレートに小さな例をコーディングするのはどれほど難しいでしょうか?すべての30%については、要求することはそれほど多くありません。当時、私はマイクロソフトと同じ議論をしていましたが、それも起こりませんでした。したがって、スタックオーバーフローが発生します。:

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {

    SubMenu subMenu1 = menu.addSubMenu("Action Item");
    subMenu1.add("Help");
    subMenu1.add("About");

    MenuItem subMenu1Item = subMenu1.getItem();
    subMenu1Item.setIcon(R.drawable.ic_launcher);
    subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    SubMenu subMenu2 = menu.addSubMenu("All Options");
    subMenu2.add("Help");
    subMenu2.add("About");

    MenuItem subMenu2Item = subMenu2.getItem();
    subMenu2Item.setIcon(R.drawable.ic_launcher);

    return super.onCreateOptionsMenu(menu);
}
于 2013-02-13T19:08:48.883 に答える
2

多分あなたは私と同じ問題を抱えています。したがって、AppCompat を使用している場合、このプロパティを使用しないでください。

android:showAsAction="always"

代わりに、次のように使用します。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/option"
        android:title="@string/option"
        android:icon="@drawable/option"
        app:showAsAction="always">
    </item>
</menu> 

追加のxmlns:appshowAsActionに違いがあり、 appのプロパティです。

それが誰かを助けることを願っています。

于 2015-07-24T08:21:21.727 に答える
1

これは設計上不可能です (少なくとも HC では - API 16 で開発していて、アイコンも取得していません)。Google は、私たちがそれを行うことを望んでいません。

このトピックに関する少しの議論については、ここで関連する回答を参照してください。

コメントの 1 つが示唆しているように、アイコンが必要な場合は、オーバーフロー メニューではなく、ドロップダウン メニューの使用を検討してください。

于 2012-11-19T10:15:44.480 に答える