我有一个带有圆形核心的自定义行样式的ListView。我想为ListView行设置边距。但是当我试图设置行的边距时,我什么都看不见 这是我的行样式:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="@color/orange" />
<corners
android:bottomLeftRadius="3dp"
android:bottomRightRadius="3dp"
android:topLeftRadius="3dp"
android:topRightRadius="3dp" />
<gradient
android:angle="-90"
android:endColor="@color/bright_orange"
android:startColor="@color/bright_orange" />
</shape>
这是行布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/newsRow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:background="@drawable/message_row_style"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:padding="5dp" />
</LinearLayout>
我应该如何设置ListView行之间的边距?
答案 0 :(得分:2)
您应该使用dividerHeight等列表视图的某些属性。您可以在this thread找到更多信息。
答案 1 :(得分:1)
使用LinearLayout
作为rows layout
的父代,而不是RelativeLayout
在padding
而不是LinearLayout
margin
替换此
android:layout_margin="10dp"
与
android:layout_padding="10dp"
答案 2 :(得分:0)
试试这个rounded_edge.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="#fdfdfd" >
</solid>
<stroke
android:width="1dp"
android:color="#dedede" >
</stroke>
<padding
android:left="1dp"
android:top="1dp"
android:right="1dp"
android:bottom="1dp">
</padding>
<corners
android:topLeftRadius="7dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp">
</corners>
</shape>
在ListView中放置此行
android:background="@drawable/rounded_edge"
答案 3 :(得分:0)
在xml中的listview中使用此标记:
android:dividerHeight="5dp"
检查此链接:
http://developer.android.com/reference/android/widget/ListView.html#attr_android:dividerHeight