[英]Why ListView doesnot show divider
对于这种特殊情况,我使用默认的listview布局,并使用ListFragment
扩展我的活动。 我在列表视图中显示分隔线时遇到问题。 我正在为我的listview行格式使用以下xml文件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center_vertical"
android:background="@color/windowBackground"
android:padding="2dp" >
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true" >
<TextView android:id="@+id/tvtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Medium" />
<TextView android:id="@+id/tvdescription"
android:layout_below="@id/tvtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Small" />
</RelativeLayout>
<!-- This is Supposed to be the divider -->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape" >
</RelativeLayout>
</RelativeLayout>
使用shape.xml
文件的shape.xml
第二个RelativeLayout
应该是分隔符。 Shape.xml
文件如下
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="2px" />
<stroke
android:width="2px"
android:color="@color/colorAccent" />
<solid android:color="@color/colorPrimary"/>
</shape>
列表数据输出很好。 我可以在两个TextViews
看到数据,但没有显示分隔符,即背景为@drawable/shape
RelativeLayout
正确的是,您可以像以前一样在布局行中放置分隔线,但必须更正它
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center_vertical"
android:background="@color/windowBackground"
android:padding="2dp" >
<RelativeLayout
android:id="@+id/row_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true" >
<TextView android:id="@+id/tvtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Medium" />
<TextView android:id="@+id/tvdescription"
android:layout_below="@id/tvtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Small" />
</RelativeLayout>
<!-- This is Supposed to be the divider -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/row_id"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@color/yourColor" >
</RelativeLayout>
</RelativeLayout>
或更简单的方法是从除法中获取listView并为其添加除法器
getListView().setDividerHeight(heightOfDivider);
getListView().setDivider(yourDrawable);
如果有任何问题请发表评论
祝好运 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.