一些流行的应用的ListView的Item类似下图:
ListView的Divider没有覆盖到图片
可以这种来实现,先定义ListView在Layout中:
<ListView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" android:layout_below="@id/title" android:id="@+id/mylist" android:fadeScrollbars="false" android:dividerHeight="0dp" <span style="color:#6600cc;">android:divider="@null" //隐藏掉原来的divider</span> android:cacheColorHint="@color/bgColorMain" > </ListView>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="56dp" <span style="color:#3333ff;">android:minHeight="56dp"</span> > <ImageView android:id="@+id/image_icon" android:layout_width="@dimen/favorites_item_picture_width" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_marginBottom="6dp" android:layout_marginLeft="5dp" android:layout_marginTop="6dp" android:scaleType="fitCenter" android:layout_centerVertical="true" android:src="@drawable/text_icon" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/messages_list_view_text_margin_left" android:layout_toRightOf="@+id/image_icon" <span style="color:#6600cc;"> android:background="@drawable/bg_list_item_divider" //关键是这句,画线全靠它了</span> > <TextView android:id="@+id/type" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/name" android:layout_alignParentRight="true" android:layout_marginTop="15dp" android:layout_marginRight="15dp" android:ellipsize="marquee" android:gravity="center_vertical|right" android:singleLine="true" android:textColor="#000000" android:textSize="@dimen/font_size_small" /> <TextView android:id="@+id/name" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_marginRight="15dp" android:layout_toLeftOf="@id/type" android:layout_marginTop="15dp" android:layout_marginBottom="15dp" android:ellipsize="marquee" android:gravity="center_vertical|left" android:singleLine="true" android:textColor="#000000" android:textSize="@dimen/font_size_medium" /> </RelativeLayout> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item <span style="color:#6600cc;">android:left="-10dp" //这个意思是rectangle距离左边的距离,等于负数会隐藏掉左边的线 android:right="-10dp" android:top="-10dp"</span> > <shape android:shape="rectangle" > <solid android:color="@android:color/transparent" /> //这个rectangle中间填充透明的颜色 <stroke android:width="1dp" android:color="@color/list_items_divider" /> //这个就是底部那根线 </shape> </item> </layer-list>
代码可以在http://download.csdn.net/detail/baidu_nod/7603629下载
关于ListView的Item的一些定制化需求,布布扣,bubuko.com
原文地址:http://blog.csdn.net/baidu_nod/article/details/37511143