我正在尝试制作这样的列表视图: Listview I want
我尝试了以下方法:
通过在列表视图中设置它但不起作用
android:divider="@android:color/transparent"
android:dividerHeight="10.0sp"
通过在textview布局中设置marginTop
,但它也无效。
所以有人可以帮助我如何获得所需的输出。
这是我的自定义列表视图:
<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>
我得到了这个:
答案 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,因此一个。
答案 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布局。这应该工作。
快乐的编码......干杯!!