Android DrawerLayout sélection de fond sur la ListView
J'ai développé une application avec un DrawerLayout.
Mon problème est avec le ListView
, quand je clique sur un élément de son textColor
devient blanche, mais au fond toujours transparent et la ListView
arrière-plan est blanc. Si le texte sélectionné est illisible.
J'ai cherché des solutions, et j'ai essayé beaucoup d'entre eux, mais personne ne travaille. Je veux juste changer la couleur de fond dans #FFCCCCCC
par exemple lorsqu'un élément est sélectionné.
Avez-vous une idée ?
Tiroir disposition
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFDDDDDD"/>
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#FFF"/>
</android.support.v4.widget.DrawerLayout>
Liste de Navigation
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_margin="15dp" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_gravity="center_vertical"/>
</LinearLayout>
Si vous avez une solution...
Merci 🙂
Edit :
- vous pouvez poster votre sortie
- Fait 🙂 Vous pouvez voir le texte "Paramètres" qui est sélectionné
- essayez de définir android:cacheColorHint="#00000000" pour listview
- Pas changé quoi que ce soit :/
- essayez de spécifier le
TextView
's couleur du texteandroid:textColor="@android:color/black"
- Mais le texte n'est pas un problème, il devient blanc quand il est sélectionné et que je le veux. Mais je veux que le fond devient sombre en même temps, et c'est le problème.
- Avez-vous jamais résoudre ce problème? J'ai le même problème.
- Pas encore, et je ne travaille pas actuellement. Assurez-vous que je mettrai à jour si j'ai trouvé la solution
InformationsquelleAutor Kyu_ | 2013-05-20
Vous devez vous connecter pour publier un commentaire.
Lors de la définition de votre sélection pour l'arrière-plan d'un élément de liste, ont une section pour les
android:state_activated="true"
ainsi. Re: https://stackoverflow.com/a/15917947/954643 Assez ennuyeux qu'uneListView#setItemChecked()
appel n'est pas l'état sélectionné...mais je suppose que c'est pourquoi ils ont un#setSelection
. Souhaitez les docs ont été plus clair au sujet de l'état il met des objets dans.Vous devez définir un sélecteur pour les deux
android:background
etandroid:textColor
. Voir La Couleur De L'Etat Liste pour plus de détails!Liste de Navigation
background_selector.xml
color_selector.xml
mDrawerList.setItemChecked(position, true);
sur votre Tiroir ListView.L'élément de menu arrière-plan doit pointer vers un sélecteur plutôt que d'une simple drawable ou de la couleur, quelque chose le long de ces lignes:
sur votre carte: