gpt4 book ai didi

android - ListView 项目顶部和底部的 ListView 分隔线

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:30 26 4
gpt4 key购买 nike

我正在使用 Android Listview,并且我希望在 listview 项目的两侧有一个 1px 的分隔线,这意味着在两种不同颜色的顶部和底部。但问题是我没有因为在底部显示分隔线而登录。我尝试了 android:layout_below 但它显示为无效。

这是 ListView 代码

<ListView
android:id="@+id/myphnview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@drawable/dividerheight"
android:background="#E9EAEC"
android:clickable="true"
android:divider="@drawable/dividerheight" >
</ListView>

这是我用于顶部边框的 xml 文件。 dividerheight.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
<shape android:shape="line" >
<stroke android:color="#c6c7c9" />

<size android:height="1px" />
</shape>
</item>


</layer-list>

这是我行的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rowlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#E9EAEC"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2" >

<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/ic_launcher"/>
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1" >

<TextView
android:id="@+id/file_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_margin="5dp"
android:text="Hello Android "
android:textColor="@android:color/black"
android:textSize="20dp" >
</TextView>
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp" >

<ImageView
android:id="@+id/share_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:background="@drawable/ic_launcher"/>
</LinearLayout>



</LinearLayout>

最佳答案

有几种方法可以实现这一点。一种简单的方法是在列表中完全隐藏分隔符(将分隔符宽度设置为 0 或将分隔符设置为空),并且只让每个列表项在顶部包含一行,在底部包含一行。考虑这个 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="60dp">

<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentTop="true"
android:background="@android:color/white" />

<LinearLayout ...>
<!-- this is your current list item LinearLayout -->
</LinearLayout>

<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:background="@android:color/black" />

</RelativeLayout>

由于您已经在使用自定义适配器,因此只需在适配器的 getView 方法中为您的列表项布局使用上面的 XML。这将生成 60dp 高的列表项,顶部有一条白线,底部有一条黑线。

关于android - ListView 项目顶部和底部的 ListView 分隔线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com