2017-07-26 3 views
0

J'ai regardé tout autour de stackoverflow comment je peux ajouter un badge dans une icône d'un onglet dans une disposition de l'onglet, mais n'ont pas de réponse.ajouter un badge sur l'icône d'un onglet dans un tablayout en utilisant badgeView

C'est mon code

//Get reference to your Tablayout 
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.setupWithViewPager(mViewPager); 
    tabLayout.getTabAt(0).setIcon(ICONS[0]); 
    tabLayout.getTabAt(1).setIcon(ICONS[1]); 
    tabLayout.getTabAt(2).setIcon(ICONS[2]); 

    BadgeView badge = new BadgeView(this, tabLayout.getTabAt(0).getCustomView()); 
    badge.setText("1"); //Whatever value you should add 
    badge.show(); 


    BadgeView mMotification = new BadgeView(this, tabLayout.getChildAt(1)); 
    mMotification.setText("10"); 
    mMotification.show(); 

J'ai aussi essayé beaucoup d'autres alternatives, mais il semble que BadgeView ne prend que des vues

Répondre

0

Vous pouvez créer la mise en page personnalisée pour les onglets et les ajouter dans TabLayout

0

C'est ce que j'ai fait pour que cela fonctionne

TabLayout.Tab tab = tabLayout.getTabAt(0); 
    ImageView imageView = new ImageView(this); 
    imageView.setImageResource(R.drawable.ic_notifications); 

    tab.setCustomView(imageView); 
    BadgeView badge = new BadgeView(this, imageView); 
    badge.setText("23"); 
    badge.setBadgeMargin(25,0); 
    badge.show();