I need to change the divider color in the listview. The code I am using to accomplish this is quoted below:
I have tried it out with:
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/redBackground"
android:dividerHeight="1dip">
</ListView>
and color value is inside colors.xml:
<color name="redBackground">#C60202</color>
And its working fine and displaying Divider color as red with 1dip height.
Just check your listview layout, you have mentioned 1px for layout_width
and layout_height
and you are setting 4px for the dividerHeight
.
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"
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
You can set this value in a layout xml file using android:divider="#FF0000"
.
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"/>
You can also specify a Drawable
resource in android:divider
as well.
You can code it:
int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);
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
A different approach is in your styles.xml just add to the style tag
<item name="android:divider">#B6B6B6</item>
e.g:
<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>
You Just need to set divider attributes of ListView:
android:divider="#FFCC00"