[android] How to change the divider color in the listview?



2 Answers

I think the problem is in your ListView's layout_width & layout_height.

Set layout_width="fill_parent" and layout_height="wrap_content"

Otherwise

Ways to Set Divider Color & Height in Listview

  1. You can set this value in a layout xml file using android:divider="#FF0000".

  2. You should also set/reset the height of the divider when you modify it.

     <ListView 
        android:id="@+id/android:list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="#FFCC00"
            android:dividerHeight="4px"/>
    

  3. You can also specify a Drawable resource in android:divider as well.

  4. You can code it:

    int[] colors = {0, 0xFFFF0000, 0}; // red for the example
    myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
    myList.setDividerHeight(1);
    
  5. You can do like

    Method 1:

In res/values/colors.xml, put the following:

<resources>
 <color name="sage">#cceebb</color>
</resources>

In your ListActivity-extending class, do this:

ListView lv = getListView();
ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.color.sage));
lv.setDivider(sage);
lv.setDividerHeight(1);

Method 2:

In res/values/colors.xml:

<resources>
 <drawable name="sage">#cceebb</drawable>
</resources>

And in your class that extends ListActivity:

ListView lv = getListView();
ColorDrawable sage = new ColorDrawable(this.getResources().getColor(R.drawable.sage));
lv.setDivider(sage);
lv.setDividerHeight(1);

Hope it helps

Question

I need to change the divider color in the listview. The code I am using to accomplish this is quoted below:

<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>  

I still get a black 1px wide divider. What am I doing wrong?

Update: ListItem

<?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>



You have to add the following code.

<ListView
        android:id="@+id/restaurant_list_widget"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#FFFFFF"
        android:dividerHeight="0.5dp" />



You should add the following code in ListView:

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





Related



Tags

android android