Android 列表视图分隔符边距
我正在尝试将边距设置为Android 列表视图分隔符边距,android,android-listview,divider,Android,Android Listview,Divider,我正在尝试将边距设置为listview分隔符。 分隔线是一条虚线: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <stroke android:dashGap="1dp" android:dashWidth="
listview
分隔符。分隔线是一条虚线:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke
android:dashGap="1dp"
android:dashWidth="1.5dp"
android:width="1dp"
android:color="#FF404040" />
<size android:height="3dp" />
</shape>
但是我需要一个分隔符左右边距。 我还尝试为形状设置填充,但是
listview
忽略了填充
<padding
android:bottom="15dp"
android:left="15dp"
android:right="15dp"
android:top="15dp" />
是否可以为
列表视图
分隔符设置边距-适配器的getView()中除外?U可以使用渐变来获得左右边距,而不是笔划。。试试这个样品,它以黑色开头和结尾,中间是白色。。看起来你已经给了我利润
<gradient android:startColor="#000000" android:centerColor="#ffffff"
android:endColor="#000000" />
我认为这是不可能的:/尽管如果您在每个列表项的底部添加自己的drawable并删除ListView分隔符,您可以根据需要自定义它:) 创建文件夹res/drawable并创建新的xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#666666"></solid>
</shape>
…然后在您的列表项中使用该绘图
或者,一种非常快速而肮脏的方法是ofc创建一个在列表项底部有彩色背景的细线布局(或其他布局),以伪造一个可定制的ListView分隔符
不是正确的解决方案,只是一些固定的想法;) 您可以使用以下想法:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/table_background"/>
</shape>
</item>
<item android:left="2dp" android:right="2dp">
... your shape here ...
</item> </layer-list>
... 你的形状在这里。。。
它对我有用。希望能有所帮助。插页是最好的选择
<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="15dp"
android:insetRight="15dp" >
<shape
android:shape="line" >
<stroke
android:dashGap="1dp"
android:dashWidth="1.5dp"
android:width="1dp"
android:color="#FF404040" />
<size android:height="3dp" />
</shape>
</inset>
使用“插入”
(list_divider.xml)
在您的列表视图中添加如下内容
<ListView
android:dividerHeight="2dp"
android:divider="@drawable/list_divider"
...
/>
您可以根据需要设置插入值…这是一个很好的解决方案,但我需要分隔符中虚线的笔划,因此我不能使用渐变。这是我第一个使用渐变的想法。您自己将其连接到适配器中,但我不知道这是否是Pe共振峰。请尝试并查看;)或者制作你自己的自定义列表视图,尽管我怀疑这是否值得费心。这里很容易找到最好的答案。这就是inset xml结构的用途。如果我们只需要一行,请在listview中使用并设置属性“android:dividerHeight”。您可以将
元素直接放置到形状中,以避免重复每个listview的高度。
<?xml version="1.0" encoding="UTF-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="50dp"
android:insetRight="50dp" >
<shape>
<solid android:color="@color/orange" />
<corners android:radius="2.0dip" />
</shape>
</inset>
<ListView
android:dividerHeight="2dp"
android:divider="@drawable/list_divider"
...
/>