5

在我的应用程序中,我制作了自己的 Actionbar,并且效果很好。

但是,我想在没有菜单按钮的 ICS 设备上使用溢出按钮的行为。

有没有办法在 ICS 中实现与操作栏分开的自定义溢出按钮?

谢谢!

4

3 回答 3

19

userSeven7s 大多与 . 一起使用ListPopupWindow,但在这种情况下更适合的是 . PopupMenu,它允许您扩展标准menu.xml。您可以将自己的ViewButton放在右上角并在onClick处理程序中创建并显示 PopupMenu。

可以在 ApiDemos > Views > Popup Menu 中找到一个示例。具体来说PopupMenu1.java

public void onPopupButtonClick(View button) {
    PopupMenu popup = new PopupMenu(this, button);
    popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu());

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            Toast.makeText(PopupMenu1.this, "Clicked popup menu item " + item.getTitle(),
                Toast.LENGTH_SHORT).show();
            return true;
        }
    });

    popup.show();
}
于 2012-05-23T05:18:21.920 回答
0

你看过 ActionBar Sherlock 吗?ABS 为所有运行 android 2.1 及更高版本的设备提供操作栏支持。ActionBarCompat 示例非常有限,不支持旧设备上的溢出菜单。请务必使用 Theme.Sherlock.ForceOverflow 主题来启用溢出。

http://actionbarsherlock.com/

您还可以修改 QuickAction 库以执行您想要的操作。

https://github.com/lorensiuswlt/NewQuickAction

于 2012-05-17T18:43:17.727 回答
0

您可以滑动/滚动操作栏以访问更多选项。将您的操作栏放在HorizontalScrollView.

您可能还想看看这里PopupWindow的课程和这里ListPopupWindow的文档。

于 2012-05-17T18:44:21.490 回答