我正在尝试为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
我设置了分隔符
<ListView
android:id="@+id/lv_news_feed_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:divider="@drawable/ch_dashed_line_divider"
/>
但我想要一个分隔线左右边距。
我还尝试在形状上设置填充,但listview
忽略了填充。
<padding
android:bottom="15dp"
android:left="15dp"
android:right="15dp"
android:top="15dp" />
是否有可能为listview
分隔符设置边距 - 除了适配器的getView()外?
答案 0 :(得分:84)
插图是要走的路
<?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>
答案 1 :(得分:16)
使用&#39;插入&#39; .....
(list_divider.xml)
<?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"
...
/>
您可以根据需要设置插入值...
答案 2 :(得分:5)
您可以使用以下想法:
<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>
它对我有用。希望它会有所帮助。
答案 3 :(得分:3)
你可以使用渐变来获得右边和左边距而不是笔划。试试这个样本它开始并以黑色结束,在中心你会得到白色..看起来你已经给了边缘
<gradient android:startColor="#000000" android:centerColor="#ffffff"
android:endColor="#000000" />
答案 4 :(得分:1)
我认为不可能:/虽然如果您在每个列表项的底部添加自己的drawable并删除ListViews分隔符,您可以根据需要自定义它:)
创建文件夹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>
..然后在列表项中使用该drawable。
或者是一种非常快速和肮脏的方法,可以在列表项的底部创建一个带有彩色背景的精简LinearLayout(或其他一些布局)来伪造可自定义的ListView分隔符。
不是一个合适的解决方案,只是一些固定的想法;)