BottomNavigationView 长按时出现的吐司,BottomNavigationView长按Item出现提示文字


江湖规矩:先上图!
如图:
在这里插入图片描述

当我们长按BottomNavigationView 的Item时会出现当前的toast,看起来很不美观,废话不多说,首先来看我的菜单配置文件

nav_menu.xml
在这里插入图片描述
布局文件: activity_main.layout

在这里插入图片描述

解决思路:获取子View,设置长按拦截
解决方法:(Kotlin代码)

//清除长按时的toast
fun clearToast(bottomNavigationView: BottomNavigationView,ids : MutableList){
var bottomNavigationMenuView: ViewGroup = (bottomNavigationView.getChildAt(0)as ViewGroup)
//遍历子View,重写长按点击事件    for (positionin 0 until ids.size) {bottomNavigationMenuView.getChildAt(position).findViewById(ids[position]).setOnLongClickListener(object : View.OnLongClickListener{
override fun onLongClick(v: View?): Boolean {
    return true            
 }})
}}

调用:

//添加的id与配置文件中要绝对一致(包括顺序)
var ids =mutableListOf()
ids.add(R.id.homeFragment)
ids.add(R.id.momCircleFragment)
ids.add(R.id.taskFragment)
ids.add(R.id.mineFragment)
clearToast(bottomNavigationView,ids)

解决方法(Java版)

/*
** 清除长按时的toast
** @param bottomNavigationView 当前BottomNavigationView
* @param ids 与配置文件中对应的所有id
*/
public static void clearToast(BottomNavigationView bottomNavigationView, List ids) {
ViewGroup bottomNavigationMenuView = (ViewGroup) bottomNavigationView.getChildAt(0);  
//遍历子View,重写长按点击事件    
for (int position =0; position < ids.size(); position++){
bottomNavigationMenuView.getChildAt(position).findViewById(ids.get(position)).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
    return true;            
 }});  
}}

调用:

List ids =new ArrayList<>();
ids.add(R.id.homeFragment);
ids.add(R.id.momCircleFragment);
ids.add(R.id.taskFragment);
ids.add(R.id.mineFragment);
clearToast(bottomNavigationView,ids);

现在即可解决长按弹出Toast的问题了,如果你有更好的解决方法,欢迎留言,如果当前帖子没有解决你的问题,你也可以留言

有问题可以在下方评论,我看到会第一时间回复你,这就是我,话不多说的徐某人,徐某人不谈原理,只助你CV,告辞
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐小歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值