Android PopupMenu基础用法

有这么一个需求,在listview或者recyclerview添加menu,效果图如下:

Android PopupMenu基础用法_第1张图片
image.png

实现右边三个点的效果有2中方法:
1、image
2、通过系统自带的style
第一种方式不再介绍。
第二种方式:


核心代码style="@style/Widget.AppCompat.ActionButton.Overflow"
这样做的好处是,第一省去图片资源,第二是自带系统的一些效果,比如单击波纹。
android:theme="?ItemPopupMenuStyle"是设置改图标的的样式,一般@style/Widget.AppCompat.PopupMenu即可。

PopupMenu

效果图:

Android PopupMenu基础用法_第2张图片
image.png

基本用法

private void showPopMenu(View v) {
        mPopupMenu=new PopupMenu(getContext(),v);
        mPopupMenu.inflate(R.menu.menu_music_list_item_action_fragment);
        mPopupMenu.show();
    }

参数View v是指刚才创建的imageview。
inflate指定显示的menu。

修改popmenu的背景颜色和字体颜色
1、在style.xml文件里

@style/NightAppTheme.popMenuStyle
@style/NightAppTheme.popMenuStyle.textAppearanceLargePopupMenu
@style/NightAppTheme.popMenuStyle.textAppearanceSmallPopupMenu



通过 popupMenuStyle设置背景颜色。
通过textAppearanceLargePopupMenutextAppearanceSmallPopupMenu设置字体颜色。

你可能感兴趣的:(Android PopupMenu基础用法)