0

我在互联网上搜索了很多。我已经完成了我必须做的事情,但我仍然无法显示我想要的 3 点菜单。

以下是相关代码:

首先,我的 manifest min sdk 设置为9,我的 targetSdk 设置为18.

菜单xml:

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

 <item
    android:id="@+id/itemMainAlbum"
    android:showAsAction="ifRoom"
    android:title="Set as Main Album">
</item>
<item
    android:id="@+id/itemImport"
    android:showAsAction="ifRoom"
    android:title="Import">
</item>
<item
    android:id="@+id/itemSettings"
    android:showAsAction="ifRoom"
    android:title="Settings">
</item>

Activity 的相关代码(扩展 SherlockActivity):

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getSupportMenuInflater();
       inflater.inflate(R.menu.gallery_menu, menu);
       return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
       // Handle item selection
       switch (item.getItemId()) {
          case R.id.itemImport:
             startImportActivity();
             return true;
          case R.id.itemMainAlbum:
              setMainAlbum();
             return true;
          case R.id.itemSettings:
                 // do s.th.
              return true;
          default:
             return super.onOptionsItemSelected(item);
       }
    }

这是我的活动的样子:

在此处输入图像描述

仅当我单击设备的菜单按钮时,才会显示底部的菜单项。无论我添加多少菜单项,都不会显示 3 点菜单。

4

2 回答 2

1

“3 点菜单”永远不会显示,因为您的设备有一个 MENU 按钮。“3 点菜单”只会出现在缺少 MENU 按钮的设备上,以允许此类用户访问溢出。您可以通过设置一个模拟没有 MENU 按钮的设备的模拟器来查看“3 点菜单”的外观。

您可以在“告别 MENU 按钮”Android 开发者博客文章中了解更多相关信息。

于 2013-07-29T17:47:45.667 回答
1

如果你使用 ActionBarSherlock,你可以使用这个小技巧。它对我来说完美无缺,并在我测试过的每台设备上显示 menuoverflow。

于 2013-07-29T17:56:46.773 回答