对话框样式的PopMenu

本文介绍如何在Android项目中实现更灵活样式的菜单,替代原生的Spinner。通过ListPopupWindow,创建具备对话框背景的PopMenu。重点在于配置9宫格背景图片,并利用反射机制判断弹出菜单的位置,以确定背景图片。提供了项目下载链接以供参考,同时也欢迎读者指出可能存在的代码遗漏。
摘要由CSDN通过智能技术生成

android原生控件有spinnner作为弹出菜单。但是项目中需要更灵活的样式,包括可以点击按钮弹出活着点击listview等弹出下拉菜单。

通过ListPopupWindow,实现对话框样式的菜单的对话框背景样式菜单。

要实现该效果首先要将对话框背景按点9图片配置好拉伸区域和文字显示区域。

然后关键就时如何判断当前的弹出菜单是在菜单持有者的上方还时下方。通过源码分析。发现实际上,ListPopupWindow时通过PopupWindow实现的,其中PopupWindow的背景实际上是会通过设置的背景如果为StateListDrawable时,去获取在上方还时下方的背景图片。但是无论是PopupWindow,还是StateL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值