使用View在listView中添加分隔符

时间:2014-08-05 09:11:22

标签: android listview

我正在使用视图向listview添加自定义分隔符。 我有一个问题,我想隐藏第一个列表项之前的分隔符。 有什么建议怎么做?  Listview

我不希望第一项(Akshay)上的分隔符应该是可见的。

帮帮我。这是我的代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
 android:orientation="horizontal"
android:padding="5dip" >
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="0dp"
android:background="@android:color/darker_gray"/>
<!-- ListRow Left side Thumbnail image -->
<LinearLayout
    android:id="@+id/thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="5dip"
    android:padding="3dip" >
    <ImageView
        android:id="@+id/user_dp"
        android:contentDescription="@string/app_name"
        android:layout_width="60dip"
        android:layout_height="60dip"
        android:background="@drawable/ic_launcher"
       />

 </LinearLayout>

 <!-- Rightend Arrow -->
 <ImageView
    android:id="@+id/arrow"
    android:contentDescription="@string/app_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:background="@drawable/arrow"

    />

 <!--User's Name-->
<TextView
    android:id="@+id/username"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/list_image"
    android:layout_marginLeft="75dip"
    android:layout_centerVertical="true"
    android:paddingBottom ="10dip"
    android:text="hhs"
    android:textColor="#040404"
    android:textSize="20dip"
    android:textStyle="bold"
    android:typeface="sans" />

<!-- chat-->
<TextView
    android:id="@+id/chat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/username"
    android:layout_alignLeft="@+id/username"
    android:paddingTop="5dip"
    android:layout_centerHorizontal="true"
    android:text="Hi how are you"
    android:textColor="#343434"
    android:textSize="15dip" />

   </RelativeLayout>

4 个答案:

答案 0 :(得分:2)

为什么不尝试使用此方法进行自定义分隔符

您需要检查cellgetView()的位置,因此您可以通过代码隐藏/显示自定义分隔符

 if(childPosition==0)//is first child
    {
        YOURDIVIDER.setVisibility(View.GONE);
    }
    else
    {
        YOURDIVIDER.setVisibility(View.VISIBLE);
    }

在执行此操作之前,您需要为此找到分隔符视图。

答案 1 :(得分:1)

在自定义适配器类中,您在getView方法中为自定义布局设置值

检查布局的位置(如果为0),然后根据您的要求将其可见性设置为GONE或INVISIBLE

用于VIEW of divider的创建对象并设置其setVisibility()方法

答案 2 :(得分:0)

 <ListView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:id="@+id/list"
     android:dividerHeight="1px">
 </ListView>

答案 3 :(得分:0)

尝试

android:layout_alignParentBottom="true"

而不是

android:layout_marginTop="0dp"