如何在Google地图菜单中使用actionbarsherlock?

时间:2012-03-25 19:48:33

标签: android google-maps actionbarsherlock

请通过以下链接查看Google地图的图片:

http://www.androidpatterns.com/uap_pattern/search-%E2%80%93-main-menu

Google maps fig 1

目前onCreateOptionsMenu(Menu menu) {}会将菜单添加到操作栏。如何在下面创建菜单?

最后:

  1. 如何控制下面的菜单选项和上面的操作栏。
  2. 是否有相同的源代码或演示。

2 个答案:

答案 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

enter image description here