我在互联网上搜索了很多。我已经做了我必须做的事情,但我仍然无法按照自己的意愿展示3个虚线菜单。
以下是相关代码:
首先,我的清单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>
活动的相关代码(扩展了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个虚线菜单。
答案 0 :(得分:1)
“3点菜单”将永远不会显示,因为您的设备有一个MENU按钮。 “3点菜单”仅出现在缺少MENU按钮的设备上,以允许此类用户访问溢出。通过设置模拟没有MENU按钮的设备的模拟器,您可以看到“3点菜单”的样子。
您可以在the "Say Goodbye to the MENU Button" Android Developers Blog帖子中了解详情。
答案 1 :(得分:1)
如果您使用ActionBarSherlock,则可以使用this little hack。它对我来说完美无瑕,并在我测试过的每台设备上显示菜单溢出。