2

アプリケーションに ActionBarSherlock を実装しようとしていますが、アクション バーに統合されたメニューをアプリケーションの上部に表示する必要があります。問題は、それが正しく機能していないことです。私はこのように使用しています:

public boolean onCreateOptionsMenu(Menu menu) {
    menu.add("Refresh")
        .setIcon(R.drawable.ic_action_refresh)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    menu.add("Settings")
        .setIcon(R.drawable.ic_action_settings)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    return true;
}

だから私が達成したいのは、アクションバーの右側に更新アイコンとメニューアイコンを表示することです。これは、クリックするとデフォルトのメニューを開くはずです。ActionbarSherlock Demos で例を確認ForcedOverflowItemしましたが、思い通りに動作しません。Android 2.+ および Android 4.+ と同じように見える必要があります。

アドバイス/ヘルプ/提案はどうすればこれを機能させることができますか?

4

3 に答える 3

6

これでxmlファイルの行を実行できます。これは他の投稿で見ましたが、今は追跡できません。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/more"
        android:showAsAction="always"
        android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark">
        <menu>
            <item
                android:id="@+id/remove"
                android:showAsAction="withText|never"
                android:title="@string/remove">
            </item>
        </menu>
    </item>

</menu>

あとは通常のメニューと同じように膨らませるだけ。

public boolean onCreateOptionsMenu(Menu menu) {
        getSupportMenuInflater().inflate(R.menu.overlow, menu);
        return true;
    }
于 2013-03-08T10:55:20.953 に答える
3

dorjeduckの答えを読んでください。すべてのデバイスで同じエクスペリエンスを実現したい場合は、彼のサブメニューを使用してカスタムメニューを追加する必要があります。ここにこれがコードの要約です:

SubMenu sub = menu.addSubMenu("More");
sub.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
sub.add(0, MENU_SETTINGS, 0, "Settings");
于 2012-10-08T07:18:17.023 に答える