PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果。它的菜单选项可以来自于menu资源,因此非常方便。下面是在网上找的一个PopupMenu的运行图片。
使用方法
res/menu下面新建 popup_menu.xml
1
2
3
4
5
6
7
8
9
10
11
|
<menu xmlns:android= "http://schemas.android.com/apk/res/android" <item android:id= "@+id/special_topic" android:title= "专题" /> <item android:id= "@+id/elite" android:title= "精选" /> </menu> |
在activity或者fragment中使用PopupMenu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
final ImageButton moreMenu = (ImageButton)v.findViewById(R.id.more_menu); moreMenu.setOnClickListener( new OnClickListener() { @Override public void onClick(View v){ PopupMenu popup = new PopupMenu(getActivity(), moreMenu); //Inflating the Popup using xml file popup.getMenuInflater() .inflate(R.menu.poupup_menu_home, popup.getMenu()); //registering popup with OnMenuItemClickListener popup.setOnMenuItemClickListener( new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { return true ; } }); popup.show(); //showing popup menu } }); |
其中MoreMenu是一个按钮,由他触发PopupMenu的显示。