-1

Je souhaite définir BackgroundColor du TAB sélectionné par code dans ViewPager.Impossible de définir la couleur d'arrière-plan de l'onglet sélectionné par programme dans ViewPager

Pour bien ce que je l'ai fait est: -

tabs.setSelectedTabIndicatorColor(Color.parseColor("#92278F")); 
tabs.setSelectedTabIndicatorHeight(50); 
tabs.setTabTextColors(Color.parseColor("#FFFFFF"), Color.parseColor("#FFFFFF")); 

Mais je ne peux pas y arriver.

Si la couleur sélectionnée est ROUGE, l'ONGLET doit alors être ROUGE en COULEUR pour l'ONGLET sélectionné et blanc en tant que COULEUR TEXTE sélectionnée. Je peux le faire par code XML mais je ne comprends pas comment y parvenir par CODE (dynamiquement)

S'il vous plaît, aidez-moi.

+0

Qu'est-ce 'tabs'? Est-ce 'TabLayout'? – cole

+0

Oui ... C'est TabLayout ... – user312456

Répondre

0

Voici comment il forme- Image1 Image2

Voici le code:

Faire 3 fichiers étirables pour arrière-plan, sélectionnées et celles qui Unis-

tab_background.xml

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

tab_background_selected.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <solid android:color="#87CEFA" /> 
</shape> 

tab_background_unselected.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <solid android:color="#3F51B5" /> 
</shape> 

Puis enfin ajouter des styles tablayout dans styles.xml

<style name="Base.Widget.Design.TabLayout" parent="android:Widget"> 
    <item name="tabBackground">@drawable/tab_background</item> 
    <item name="tabIndicatorColor">#ff00ff</item> 
    <item name="tabIndicatorHeight">2dp</item> 
</style>