android popmenu,android 自定义PopupMenu详解

本文详细介绍了在Android中如何使用PopupMenu,并展示了如何自定义其样式。通过设置`android:theme`属性和XML样式配置,可以改变菜单的颜色等视觉效果。同时,提供了展示浮动菜单的代码实现,包括菜单项的点击事件处理,如跳转到分享和扫一扫功能。此外,还演示了如何显示图标以及使用MenuPopupHelper来显示菜单。
摘要由CSDN通过智能技术生成

PopupMenu 使用及自定义样式

Activity引用的XML样式配置  android:theme="@style/AppBaseTheme"

ef0b22e376e38997e907b437a93e4cfe.png

57bb05a793ea794c70af7c661c957ebe.png

57bb05a793ea794c70af7c661c957ebe.png

color颜色

ef0b22e376e38997e907b437a93e4cfe.png

#00FFFF

#00FF00

Menu布局

ef0b22e376e38997e907b437a93e4cfe.png

57bb05a793ea794c70af7c661c957ebe.png

57bb05a793ea794c70af7c661c957ebe.png

代码实现

ef0b22e376e38997e907b437a93e4cfe.png

57bb05a793ea794c70af7c661c957ebe.png

/**

* 显示浮动菜单

*/

@SuppressLint("RestrictedApi")

private fun showPopupMenu(view: View) {

val popupMenu = PopupMenu(context!!, vMenu)

getMenuInflater().inflate(R.menu.home_menu, popupMenu.menu)

popupMenu.setOnMenuItemClickListener {

when (it.itemId) {

R.id.vShare -> {

ToastUtils.showLongToast("跳转到分享")

true

}

R.id.vScan -> {

ToastUtils.showLongToast("跳转到扫一扫")

true

}

else -> true

}

}

val menuHelper = MenuPopupHelper(context!!, popupMenu.menu as MenuBuilder, view)

menuHelper.setForceShowIcon(true)//设置显示图标

menuHelper.show()

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值