请通过以下链接查看Google地图的图片:
http://www.androidpatterns.com/uap_pattern/search-%E2%80%93-main-menu
目前onCreateOptionsMenu(Menu menu) {}
会将菜单添加到操作栏。如何在下面创建菜单?
最后:
答案 0 :(得分:2)
在Honeycomb之前,默认情况下,ActionBarSherlock的溢出菜单(即不适合操作栏的项目)将被放置在常规选项菜单中。
您发布的截图可以通过以下方式实现:
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Places")
.setIcon(R.drawable.ic_places)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Layers")
.setIcon(R.drawable.ic_layers)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("My Location")
.setIcon(R.drawable.ic_location)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Search")
.setIcon(R.drawable.ic_search)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Directions")
.setIcon(R.drawable.ic_directions)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
menu.add("Starred Places").setIcon(R.drawable.ic_starred);
menu.add("Clear Map").setIcon(R.drawable.ic_clear);
menu.add("Join Latitude").setIcon(R.drawable.ic_latitude);
//Whatever else is under the "More" menu
return true;
}
这是一个示例应用程序的截图,该应用程序随附在Android 2.3.3上的库演示:
在Honeycomb或ICS设备上运行(没有硬件菜单按钮)时,溢出菜单将成为操作栏上的最后一项,并显示在下拉列表中。
答案 1 :(得分:1)
它们是互斥的。从Android v3.0开始,底部的菜单已被ActionBar“溢出”(右上角的三个点图标)取代。
因此,在Android 3.0设备上,菜单将在右上方打开,在较旧的设备上,它会显示在底部。附带的图片显示了Android 4的做事方式。
http://developer.android.com/design/patterns/actionbar.html