如何在listview项

时间:2016-05-16 17:02:25

标签: android android-layout listview

我正在尝试制作这样的列表视图: Listview I want

我尝试了以下方法:

  1. 通过在列表视图中设置它但不起作用

    android:divider="@android:color/transparent"
    android:dividerHeight="10.0sp"
    
  2. 通过在textview布局中设置marginTop,但它也无效。

  3. 所以有人可以帮助我如何获得所需的输出。

    我试过thisthis,但这些都无效。

    这是我的自定义列表视图:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="@dimen/activity_vertical_margin"
    >
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <View
        android:layout_width="8dp"
        android:layout_height="wrap_content"/>
    <ImageView
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:id="@+id/imageView"
        android:layout_margin="5dp" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView"
        android:layout_margin="5dp"
        style="@style/AppTheme.Text"
        />
    <View
        android:layout_width="8dp"
        android:layout_height="wrap_content"
        />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="8dp"
        android:background="#fff"/>
    </LinearLayout>
    

    我得到了这个:

2 个答案:

答案 0 :(得分:0)

您可以为每个项目调整ListView,如下例所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="4dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:text="Large Text" />

    <View
        android:layout_width="match_parent"
        android:layout_height="8dp" />

</LinearLayout>

这是结果,只是在父布局中添加一些边距,并放置一个空视图占用8dp空间,以便视图的下一个项目距离第一个是8dp,因此一个。

enter image description here

答案 1 :(得分:0)

好的,使用它。它应该完全按照你想要的结果。可以自由更改边距和填充。

在自定义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="wrap_content"
    android:background="#009688">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="@drawable/rectangle">

        <ImageView
            android:id="@+id/iv_imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="5dp"
            android:background="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/tv_hello"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:layout_marginStart="10dp"
            android:layout_toRightOf="@+id/iv_imageView1"
            android:textColor="@android:color/black"
            android:textSize="16sp" />
    </RelativeLayout>

</RelativeLayout>

现在,在drawable文件夹中创建一个新的xml,将其称为矩形。将下面的代码粘贴到其中。

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
    <stroke android:width="2dp" android:color="#ff207d94" />
    <padding android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp" />
    <corners android:radius="8dp" />
    <solid android:color="#ffffffff" />
</shape>

半径定义所需矩形的曲线,随意根据需要进行更改。

在适配器中使用自定义ListView布局。这应该工作。

快乐的编码......干杯!!