BottomNavigationView 基础配置

xml的展现

 

app:menu




    

    

    

    

上面的xml就是底部导航的菜单

问题1:选中和未选中的图标和文字颜色配置 

 需要设置主题android:theme

    

colorPrimary为图标和文字的选中颜色

android:textColorSecondary为图标和文字的未选中颜色

问题2:给某一个菜单增加小红点或者未读标识

MenuBadge.xml




    

  

 
下面是在activity的使用


private val badgeView by lazy { MenuBadgeBinding.inflate(layoutInflater, null, false) }

   /**
     * 给BottomNavigationView 设置Badge 小红点
     */
    private fun setBadge() {
        //获取底部菜单view
        val menuView = binding.bottomNavigation.getChildAt(0) as BottomNavigationMenuView
        //获取第2个itemView
        val itemView = menuView.getChildAt(2) as BottomNavigationItemView
        //把badgeView添加到itemView中
        itemView.addView(badgeView.root)
    }

问题3:底部导航栏长按会吐司

参数就是 BottomNavigationView 的菜单ID 集合


fun BottomNavigationView.clearToast(ids: MutableList) {
    val bottomNavigationMenuView: ViewGroup = (this.getChildAt(0) as ViewGroup)
    //遍历子View,重写长按点击事
    for (position in 0 until ids.size) {
        bottomNavigationMenuView.getChildAt(position).findViewById(ids[position])
            .setOnLongClickListener { true }

    }
}

你可能感兴趣的:(工作中遇到的问题,android)