6

Menu多くのチュートリアルを参照した後、代わりにActionBarforがあることを知りました> API 10。しかしAPI 7、私はテストにsdkを使用Menusしていますdrawable images. ただし、テキストのみが表示され、描画可能なアイコン画像がメニュー オプションに表示されません。これを解決するのを手伝ってください。

私のXML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!--
             Single menu item
             Set id, icon and Title for each menu item
    -->
    <item
        android:id="@+id/savedstory"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Saved Stories"/>
    <item
        android:id="@+id/setting"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Settings"/>
    <item
        android:id="@+id/Bookmark"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Bookmark This"/>
    <item
        android:id="@+id/share"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Share This"/>
    <item
        android:id="@+id/save"
        android:background="#000000"
        android:minHeight="20dp"
        android:title="Save This"/>
    <item
        android:id="@+id/small"
        android:icon="@drawable/font3"
        android:minHeight="20dp">
This icon is not showing.
            />
        <item
            android:id="@+id/medium"
            android:background="#ffffff"
            android:minHeight="20dp"
            android:title="Medium font"/>
        <item
            android:id="@+id/big"
            android:background="#000000"
            android:minHeight="20dp"
            android:title="Big font"/>
    </item>

</menu>

私の膨張コード:

public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater menuInflater = getMenuInflater();
  menuInflater.inflate(R.menu.newsdescriptionmenu, menu);
  return true;
}
4

2 に答える 2

2

メニューのドキュメントを参照する場合"

オプションメニュー:アイコンメニューはアイテムのチェックマークをサポートせず、アイテムの要約されたタイトルのみを表示します。展開されたメニュー(6つ以上のメニュー項目が表示されている場合にのみ使用可能で、アイコンメニューの[その他]項目からアクセスできます)には項目アイコンが表示されず、項目のチェックマークは使用できません。

メニューをどのように膨らませるか(どのオプションなど)がわからないため、このアイテムのアイコンは6番目のアイテムであり、[その他]の後に展開されたメニューが表示されるため、表示されないと推測できます。

于 2013-01-03T11:56:23.137 に答える
2

次のコード スニペットを確認してください。

menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/Menu1"
        android:orderInCategory="1"
        android:title="Menu 1"/>
    <item
        android:id="@+id/Menu2"
        android:orderInCategory="2"
        android:title="Menu 2"/>
    <item
        android:id="@+id/Menu3"
        android:orderInCategory="3"
        android:title="Menu 3"/>
    <item
        android:id="@+id/submenu"
        android:orderInCategory="4"
        android:title="Sub menu">
        <menu>
            <item
                android:id="@+id/submenu1"
                android:title="Sub menu 1"/>
            <item
                android:id="@+id/submenu2"
                android:title="Sub menu 2"/>
        </menu>
    </item>

</menu>

これらの行をActivity Class

public class MenuActivity extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
  public boolean onCreateOptionsMenu(Menu menu) {
    new MenuInflater(getApplication()).inflate(R.menu.menu, menu);
    return(super.onPrepareOptionsMenu(menu));
  }

  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.Menu1:
      Toast.makeText(this, "Menu 1", Toast.LENGTH_SHORT).show();
    break;
    case R.id.Menu2:
      Toast.makeText(this, "Menu 2", Toast.LENGTH_SHORT).show();
    break;
    case R.id.Menu3:
      Toast.makeText(this, "Menu 3", Toast.LENGTH_SHORT).show();
    break;
    case R.id.submenu:
      Toast.makeText(this, "Sub menu", Toast.LENGTH_SHORT).show();
    break;
  }
  return(super.onOptionsItemSelected(item));
 }
}
于 2013-01-03T12:01:53.813 に答える