在我的应用程序中,我创建了自己的Actionbar,它运行良好。
但我想在没有菜单按钮的ICS设备上使用溢出按钮的行为。
有没有办法在ICS中实现与Actionbar分开的自定义Overflow按钮?
谢谢!
答案 0 :(得分:19)
userSeven7s主要使用ListPopupWindow
,但在这种情况下更合适的是PopupMenu
,它允许您夸大标准menu.xml
。您可以在右上角放置自己的View
或Button
,在onClick
处理程序中创建并显示PopupMenu。
可以在ApiDemos中找到一个例子>意见>弹出菜单 。具体来说是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();
}
答案 1 :(得分:0)
你看过ActionBar Sherlock吗? ABS为运行Android 2.1及更高版本的所有设备提供操作栏支持。 ActionBarCompat示例非常有限,不支持旧设备上的溢出菜单。请务必使用Theme.Sherlock.ForceOverflow主题启用溢出。
您还可以修改QuickAction库以执行您想要的操作。
答案 2 :(得分:0)