Как изменить цвет разделителя в списке?

Мне нужно изменить цвет разделителя в списке. Код, который я использую для этого, приведен ниже:

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

Я все еще получаю черный 1px широкий делитель. Что я делаю не так?

Обновление: 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> 

Solutions Collecting From Web of "Как изменить цвет разделителя в списке?"

Я пробовал это:

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

И значение цвета внутри colors.xml:

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

И он отлично работает и отображает цвет Divider как красный с высотой 1dip.

Обновить:

Просто проверьте свой макет списка, вы упомянули 1px для layout_width и layout_height и вы устанавливаете 4px для dividerHeight .

Я думаю, что проблема заключается в вашем layout_width и layout_height .

Установите layout_width="fill_parent" и layout_height="wrap_content"

В противном случае

Способы установки цвета и высоты разделителя в Listview

  1. Вы можете установить это значение в XML-файле макета с помощью android:divider="#FF0000" .

  2. Вы также должны установить / сбросить высоту делителя при его изменении.

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

  3. Вы также можете указать ресурс Drawable в android:divider .

  4. Вы можете запрограммировать его:

     int[] colors = {0, 0xFFFF0000, 0}; // red for the example myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); myList.setDividerHeight(1); 
  5. Вы можете сделать

    Способ 1:

В res / values ​​/ colors.xml введите следующее:

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

В классе ListActivity -extending выполните следующее:

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

Способ 2:

В res / values ​​/ colors.xml:

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

И в вашем классе, который расширяет ListActivity:

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

Надеюсь, поможет

Вам просто нужно установить атрибуты разделителя ListView:

 android:divider="#FFCC00" 

Вы должны добавить следующий код в ListView:

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

Другой подход в ваших стилях. Xml просто добавляет к тегу стиля

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

например:

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

Вы должны добавить следующий код.

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