42 votes

Comment changer la couleur du séparateur dans la liste ?

J'ai besoin de changer la couleur du séparateur dans la liste. Le code que j'utilise pour accomplir cela est cité ci-dessous:

 <ListView
    android:id="@+id/restaurant_list_widget"
    android:layout_width="1px"
    android:layout_height="1px"
    android:layout_weight="1" android:background="@drawable/list"
    android:divider="#FFFFFF"
    android:dividerHeight="4px">
</ListView>  

Je reçois toujours un diviseur noir de 1px de large. Qu'est-ce que je fais mal?

Mise à jour : élément de liste

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:background="@color/list_background">
        <TextView
            android:id="@+id/restaurant_list_item_name"
            android:layout_marginBottom="4dp"
            android:textStyle="bold"
            android:textSize="15dp"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:textColor="#fff"
            android:text="Restaurant Name Goes Here"></TextView>
        <TextView
            android:id="@+id/restaurant_list_item_detail"
            android:textSize="10dp"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"></TextView>    
</LinearLayout>

93voto

Paresh Mayani Points 48123

Je l'ai testé avec :

  <ListView 
    android:id="@+id/ListView01" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:divider="@color/redBackground"
    android:dividerHeight="1dip">
 </ListView>

et la valeur de la couleur est à l'intérieur de colours.xml :

 <color name="redBackground">#C60202</color>

Et cela fonctionne bien et affiche la couleur du diviseur en rouge avec une hauteur de 1dip.

Mettre à jour:

Vérifiez simplement la disposition de votre liste, vous avez mentionné 1px pour layout_width et layout_height et vous définissez 4px pour le dividerHeight .

6voto

Onuray Sahin Points 1444

Vous avez juste besoin de définir les attributs de diviseur de ListView :

 android:divider="#FFCC00"

2voto

lokesh s Points 111

Vous devez ajouter le code suivant dans ListView :

    android:divider="@android:color/white"
   android:dividerHeight="0.2dp"

0voto

Ali Points 11

Une approche différente est dans votre styles.xml ajoutez simplement à la balise de style

 <item name="android:divider">#B6B6B6</item>

par exemple:

 <style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">#303F9F</item>
    <item name="colorPrimary">#3F51B5</item>
    <item name="colorAccent">#FF5722</item>
    <item name="android:textColorPrimary">@color/textColorPrimary</item>
    <item name="android:textColorSecondary">@color/textColorSecondary</item>
    <item name="android:divider">#B6B6B6</item>
    <item name="android:windowBackground">@color/window_background</item>
</style>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X