L'élément sélectionné dans le tiroir de navigation
J'ai mis en place la navigation tiroir de mon application (http://developer.android.com/training/implementing-navigation/nav-drawer.html).
Comment puis-je modifier l'affichage de l'élément sélectionné? Je veux l'élément sélectionné en gras et d'une couleur différente.
Officiel de l'exemple, ils utilisent des "setItemChecked", mais comment puis-je modifier l'aspect de l'unique élément coché? Le "setOnItemSelectedListener" méthode ne fonctionne pas.
Jusqu'à présent, ce que je fais, c'est ce morceau de code lorsque j'ouvre un fragment:
for (int i = 0; i < mDrawerList.getChildCount(); i++){
TextView t = (TextView) mDrawerList.getChildAt(i);
if(i == fragmentPosition) t.setTextColor(getResources().getColor(R.color.blue));
else t.setTextColor(getResources().getColor(R.color.black));
}
Il fonctionne, mais sur l'application se lance, aucun élément n'est sélectionné, et je ne peux pas définir n'importe quel élément, car la liste n'est pas encore créé (il est créé lorsque l'on ouvre pour la première fois, je pense).
J'ai essayé de créer un sélecteur, mais ne savez pas comment définir les différents attributs correctement (point vérifié, élément sélectionné, l'élément cliqué??), cherché sur la doc mais je ne comprends pas.
Merci pour toute aide que vous pouvez fournir!
OriginalL'auteur Chris B. | 2014-01-04
Vous devez vous connecter pour publier un commentaire.
Je le ferais dans l'adaptateur.
Et si vous n'avez pas besoin de police de caractères, vous pouvez utiliser le sélecteur de avec
Ou de le mettre à votre fichier xml avec TextView
OriginalL'auteur wnc_21
Voici ma solution pour changer la couleur et la police de caractères de l'élément sélectionné dans la barre de navigation tiroir...
Et en gras le premier élément dans le tiroir de navigation lors de l'initialisation de l'application, je l'ai fait dans la liste de l'adaptateur obtenir méthode de vue...
Donc, ici, j'ai vérifié si la position de l'élément est 0 (ce qui signifie que son premier élément), le mettre en gras. Tout cela fonctionne parfaitement pour moi!~
CheckedTextView
à la place! Également utilisermyDrawerListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE)
.OriginalL'auteur Abdul Rahman