android listview的divider分割线的宽度设置

  • Post author:
  • Post category:其他

android listview的divider分割线的宽度设置

在用到listview的divider时,有属性可以设置高度和背景:

        

android:divider="@drawable/divider"
android:dividerHeight="1dp"

那么宽度怎么设置呢?如下效果图,分割线没有充满整个屏幕?

解决方法:

1、最简单最有效的就是能够提供一个两边都有padding的直线图片

2、这种办法,也就是我这边要说的方法

创建文件:

listview_divider.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:width="2px"
        android:color="#b2b2b2" />

    <size android:height="20dp" />
</shape>

divider.xml

<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="27dp"
    android:insetRight="27dp"
    android:drawable="@drawable/listview_divider">
</inset>

最后在listview中用此图片设置divider

android:divider="@drawable/divider"
android:dividerHeight="1dp"

其中用到inset这个标签,

android:insetLeft="27dp" //表示距离左边padding
android:insetRight="27dp"//表示距离右边padding

3、这种方法跟第二种大同小异

<pre><code><ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="2dp"
android:divider="@drawable/line"
/>


 </code>

<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
        <item
        android:left="10dp"
        android:right="10dp">
        <shape android:shape="rectangle" >
            <solid android:color="@android:color/black" />
        </shape>
    </item>
</layer-list>


可以看看:http://stackoverflow.com/questions/14054364/how-to-assign-padding-to-listview-item-divider-line


版权声明:本文为u013289262原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。