3

ActionBarSherlockを使用して、Android2.3アプリにオプションメニューを実装しようとしています。ただし、表示されません。オプションメニュー用の単純なXMLレイアウトファイル「breadcrumb_bar_menu」は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:id="@+id/inbox"
       android:icon="@drawable/topbar_btn_inbox"      
       android:title= "@string/about" />    

 <item android:id="@+id/sent"
       android:icon="@drawable/topbar_sent"      
       android:title="@string/about" />    
    </menu>

そして、これがSherlockActivityから継承された私のアクティビティです。

    public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.breadcrumb_bar_menu, menu);
    return true;
}

しかし、アクティビティのオプションメニューが表示されません。何が間違っているのですか?

4

5 に答える 5

3

android:showAsAction="ifRoom"メニューのxmlアイテムの属性にを含めます。

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

    <item android:id="@+id/sent"
       android:showAsAction="ifRoom"
       android:icon="@drawable/topbar_sent"      
       android:title="@string/about" />    
 </menu>
于 2013-03-15T02:19:03.737 に答える
1
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.actionoption, menu);
    return true;
}
于 2014-02-09T20:14:10.217 に答える
0

デバイスのナビゲーションモードを設定する必要があります。また、デバイスにハードメニューキーがある場合は、メニューオプションの3つのドットが表示されません。

于 2013-03-14T18:20:33.427 に答える
0

メニューを使用することをシステムに通知する必要があります。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}
于 2013-03-21T23:14:25.240 に答える
0

Actionbarsherlockを使用してoptionmenuを他のAPIの>2.3.3と同じように機能させるには、次のようにしました。

メニューファイル:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/navigateMenu" 
android:icon="@drawable/icon"
android:title="Menu"
android:orderInCategory:"9"
android:showAsAction="always"
android:titleCondensed="Menu">
<menu>
<item android:id="@+id/id1"
android:icon="@drawable/option1"
android:title="option1" />
<item android:id="@+id/id2"
android:icon="@drawable/option2"
android:title="option2" />
<item android:id="@+id/id3"
android:icon="@drawable/option3"
android:title="option3" />
</menu>
</item>
</menu>

アクティビティコードの場合:親MenuItemの参照を取得し、SHOW_AS_ACTION_ALWAYSプロパティを使用してアクションバーにアタッチします。同じコードを参照してください:

アクティビティファイル:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.sample_menu, menu);

//To make optionmenu visible on Actionbar for 2.3.3

menu.findItem(R.id.navigateMenu).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
        return true;
    }
于 2015-11-21T17:52:52.870 に答える