美文网首页程序员
BottomNavigationView 长按时出现的吐司,Bo

BottomNavigationView 长按时出现的吐司,Bo

作者: SuperXcy | 来源:发表于2020-07-09 18:14 被阅读0次

    如图:

    当我们长按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与配置文件中要绝对一致(包括顺序)

    varids =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的问题了,如果你有更好的解决方法,欢迎留言,如果当前帖子没有解决你的问题,你也可以留言,我回及时回复你的

    相关文章

      网友评论

        本文标题:BottomNavigationView 长按时出现的吐司,Bo

        本文链接:https://www.haomeiwen.com/subject/uuvscktx.html