How to change the divider color in the listview?

后端 未结 6 694
庸人自扰
庸人自扰 2020-12-14 06:06

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



        
相关标签:
6条回答
  • 2020-12-14 06:20

    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.

    Update:

    Just check your listview layout, you have mentioned 1px for layout_width and layout_height and you are setting 4px for the dividerHeight.

    0 讨论(0)
  • 2020-12-14 06:21

    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" />
    
    0 讨论(0)
  • 2020-12-14 06:22

    You should add the following code in ListView:

       android:divider="@android:color/white"
       android:dividerHeight="0.2dp"
    
    0 讨论(0)
  • 2020-12-14 06:24

    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

    0 讨论(0)
  • 2020-12-14 06:24

    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>
    
    0 讨论(0)
  • 2020-12-14 06:38

    You Just need to set divider attributes of ListView:

    android:divider="#FFCC00"
    
    0 讨论(0)
提交回复
热议问题