2017-05-22 5 views
1

Wie ändert man ein Symbol in der ausgewählten Registerkarte? Ich tue dies für Setikonen in tab:Java android Registerkarte

private void createTabIcons() { 
     TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null); 
     tabOne.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.start_n, 0, 0); 
     tabLayout.getTabAt(0).setCustomView(tabOne); 
    } 

Aber wenn ich wählen oder Scroll-Register Ich möchte ein Symbol in ausgewählten Registerkarte ändern und in previesl Registerkarte

+0

ändern Sie das Symbol auf OntabChangeListener –

+0

@TerrilThomas aber wie kann ich Icons Chenge? –

+0

private void createTabIcons (int Bild) { TextView tabOne = (TextView) LayoutInflater.from (this) .inflat (R.layout.custom_tab, null); tabOne.setCompoundDrawablesWithIntrinsicBounds (0, Bild, 0, 0); tabLayout.getTabAt (0) .setCustomView (tabOne); } –

Antwort

1

auf Standardsymbol ändern, wenn Sie Material-Design verwenden dann versuchen, dieses

 private int[] imageResIdcolor = { 
            R.drawable.ic_dashboard, 
            R.drawable.ic_chats, 
            R.drawable.ic_friends, 
            R.drawable.ic_contacts, 
          }; 

     private int[] imageResId = { 
          R.drawable.ic_dashbordblue, 
          R.drawable.ic_chatsblue, 
          R.drawable.ic_friendsblue, 
          R.drawable.ic_contactsblue, 
        }; 

     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 

    tabLayout.getTabAt(tab.getPosition()).setIcon(imageResId[tab.getPosition()]); 
       } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 
     tabLayout.getTabAt(tab.getPosition()).setIcon(imageResIdcolor[tab.getPosition()]); 
      } 
Verwandte Themen