Sto usando un TabLayout
per la navigazione a schede nella mia app. Ho un problema davvero strano con esso, ho creato 4 schede utilizzando questo codice:TabLayout L'icona della scheda selezionata non è selezionata all'avvio:
private int[] tabIcons = {R.drawable.navigation_timeline_icon_selector, R.drawable.navigation_feed_icon_selector,
R.drawable.navigation_messages_icon_selector, R.drawable.navigation_notification_icon_selector};
TabLayout tabLayout = setTabLayout();
if (tabLayout != null) {
for (int i = 0; i < 4; i++) {
tabLayout.getTabAt(i).setIcon(tabIcons[i]);
}
}
ciascuno degli elementi in tabIcon è un selector
con stati selezionati e non selezionati. Tutti i selettori icone sono configurati come segue:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/navigation_timeline_selected_icon" android:state_selected="true"/>
<item android:drawable="@drawable/navigation_timeline_selected_icon" android:state_pressed="true"/>
<item android:drawable="@drawable/navigation_timeline_icon" />
</selector>
Il problema è che quando l'applicazione inizia la prima scheda selezionata (indice 0) non utilizza l'icona stato selezionato. Invece usa lo stato non selezionato.
per essere più esplicativo Ecco uno screenshot del problema, al primo avvio la mia scheda è simile al seguente:
quando invece dovrebbe essere simile a questo:
Dopo aver cambiato una pagina tutte le icone tornano alla piena funzionalità e gli stati selezionati sono selezionati correttamente.
Ho provato a utilizzare il metodo ma il risultato è lo stesso dell'icona utilizzata è l'icona non selezionata.
Qualcuno sa cosa posso fare per risolverlo?
Grazie in anticipo.
Non è sicuro se hai provato quello che ho suggerito . come hai detto hai provato select(). –
Potrebbe esserci un problema con personalizzazioni disegnabili –
@MsYvette che cosa significa e come può essere gestito? –