android中PopupMenu的使用

泡在网上的日子 / 文 发表于2015-01-06 15:52 次阅读 PopupMenu,菜单

PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果。它的菜单选项可以来自于menu资源,因此非常方便。下面是在网上找的一个PopupMenu的运行图片。

device-2013-04-06-201217.png

使用方法

res/menu下面新建 popup_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools">  
<item
     android:id="@+id/special_topic"  
     android:title="专题"/>  

    <item  
        android:id="@+id/elite"  
        android:title="精选"/>  
 
</menu>


在activity或者fragment中使用PopupMenu

       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的显示。




收藏 赞 (21) 踩 (15)
上一篇:LinearLayout增加divider分割线
在android3.0及后面的版本在LinearLayout里增加了个分割线 android:divider=@drawable/shape!--分割线图片--android:showDividers=middle|beginning|end!--分割线位置-- 分割线如果是图片那就直接使用图片就行,如果要使用颜色就必须使用shape来显示,直接使
下一篇:OkHttp使用教程
Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient。 关于HttpURLConnection和HttpClient的选择官方博客 尽管Google在大部分安卓版本中推荐使用HttpURLConnection,但是这个类相比HttpClient实在是太难用,太弱爆了。 OkHttp是一个相对成熟的