关于android控件PopupMenu使用的一些说明

一、在listview中使用点击某一控件弹出PopupMenu位置错乱的问题
在项目开发中用到了PopupMenu控件,因为之前用过,使用方法比较简单,没太注意。这次在ListView中使用时发现位置不对,经查找发现需要在事件方法中使用异步创建设置PopupMenu位置才有效。关于为什么会这样子,现在还没有想通,以后有想法,再来补充吧。

viewHolder.llArrow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View view) {
                view.post(new Runnable() {
                    @Override
                    public void run() {
                        Context wrapper = new ContextThemeWrapper(mContext,R.style.popupMenuStyle);
                        mPopupMenu = new PopupMenu(wrapper,view);
                        mPopupMenu.inflate(R.menu.menu_consulting);
                        mPopupMenu.setOnMenuItemClickListener(new SickConsultingAdapter.MyMenuItemClickListener(position));
                        mPopupMenu.show();
                    }
                });
            }
        });

二、设置PopupMenu的Item样式并使用
童鞋们可能已经注意到了上面代码中新建PopupMenu的方法了

Context wrapper = new ContextThemeWrapper(mContext,R.style.popupMenuStyle);
mPopupMenu = new PopupMenu(wrapper,view);

没错正式通过自定义popupMenuStyle样式来实现的

<style name="popupMenuStyle" >
    <item name="android:textColor">@color/black</item>
    <item name="android:itemBackground">@color/white</item>
    <item name="android:divider">@color/dark_grey</item>
    <item name="android:dividerHeight">1dp</item>
</style>

三、参考文献
1、http://blog.csdn.net/jushenziao/article/details/51691585
2、https://stackoverflow.com/questions/40694486/styling-android-popupmenu-divider-lines

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值