如何在不使用任何自定义视图或库的情况下使bottomNavigationView徽章覆盖项目图标?

时间:2019-09-24 17:40:08

标签: android bottomnavigationview

我在bottomNavigationView项目上有一个徽章,但该徽章显示在项目图标的外面。我希望它与右上角的项目图标重叠。

2 个答案:

答案 0 :(得分:0)

访问这些网址

https://youtu.be/UyHd75_tUiI

显示项目

https://github.com/axarlotwala/CafeDelear

这些代码适用于底部通知徽章

BottomNavigationMenuView menuView = 
              (BottomNavigationMenuView) navigation.getChildAt(0);
        View view = menuView.getChildAt(1);
        BottomNavigationItemView itemView = 
                                 (BottomNavigationItemView) view;
        View badge = 
           LayoutInflater
               .from(this)
               .inflate(R.layout.notification_badge,itemView,true);
        tvCount = badge.findViewById(R.id.tvCount);
        tvCount.setText("0");

答案 1 :(得分:0)

这是您的解决方案:

这是,用于为您的导航项目创建或设置徽章:

implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha09'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0-beta03'
implementation 'androidx.viewpager2:viewpager2:1.0.0-beta03'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0-rc01'
implementation 'androidx.preference:preference:1.1.0-rc01'
implementation 'androidx.core:core:1.2.0-alpha03'

这是,用于设置徽章的重力:

      // 'nav_view' the id of your BottomNavigationView    
      nav_view.getOrCreateBadge(R.id.navigation_history).number = 10

希望是有帮助的,让我知道。