2016-07-29 24 views
1

Entschuldigung, wenn diese Frage schon einmal gestellt wurde.Symbol in Tablayout im ausgewählten und nicht ausgewählten Zustand ändern

Ich möchte das Symbol ändern, wenn es in der Registerkarte der Registerkarte Layout ausgewählt ist. Wie kann ich dies tun mit Selektor ?.

Ich habe zwei Registerkarten in meiner Anwendung auf ausgewählten Zustand Symbol sollte sich ändern.

+0

Mögliche Duplikat [TabLayout ausgewählt Tab-Symbol wird auf nicht ausgewählt starten:] (http://stackoverflow.com/questions/34392640/tablayout- selected-tab-icon-is-not-selected-on-start-up) –

+1

Versuchen Sie dies tabLayout.getTabAt (0) .setIcon (R.drawable.selector); – LvN

+0

Danke @LvN es funktioniert – FaisalAhmed

Antwort

1

Bitte versuchen Sie dieses

tabLayout.getTabAt(0).setIcon(R.drawable.selector); 
2
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       tab.setIcon(selectedImageResources[tab.getPosition()]); 
       getSupportActionBar().setTitle(pageTitles[tab.getPosition()]); 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 
       tab.setIcon(imageResources[tab.getPosition()]); 
      } 

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

      } 
     }); 
0

erhalten wird, um Tab Wähler zu machen und deselector Sie auf diese Weise verwenden können

1.Erstellen Benutzerdefinierte Ansicht und Aufblasen:

private View getTabView(int imgDrawable) { 
     View view = getLayoutInflater().inflate(R.layout.tab_view, null); 
     ImageView imgTab = (ImageView) view.findViewById(R.id.imgTab); 
     imgTab.setImageDrawable(getResources().getDrawable(imgDrawable)); 

     return view; 
    } 

2.Create ziehbar Selector

tab_home_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:drawable="@drawable/ic_home_selected" android:state_selected="true" /> 
     <item android:drawable="@drawable/ic_home_deselected" /> 
    </selector> 

3.Insert in tab:

tabDashboardLayout = (TabLayout) findViewById(R.id.tabDashboardLayout);   
     //Adding the tabs using addTab() method 
     View tabView = getTabView(R.drawable.tab_home_selector);; 
     tabDashboardLayout.addTab(tabDashboardLayout.newTab().setCustomView(tabView)); 

Für einzelne Registerkarte, die Sie erstellen zu lassen individuelle Ziehung Selektor e und in dem Tab