6

我有一个显示卡片式视图的 android 列表视图,正如您在这张图片中看到的那样,我的卡片之间有一条细灰线:

在此处输入图像描述

我怎样才能摆脱灰线?

我实现这个卡片视图的xml是这样的:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="4dp"
        android:layout_marginBottom="4dp"
        android:orientation="vertical"
        android:background="@drawable/bg_card">

    <!-- Card Contents go here -->

    <TextView
            android:id="@+id/beerNameList"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
            android:id="@+id/beerBreweryNameList"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

</LinearLayout>

</FrameLayout>

bg_card.xml:

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

            <corners android:radius="2dp"/>

            <solid android:color="#ccc" />

        </shape>
    </item>

    <item android:bottom="2dp">
        <shape android:shape="rectangle"
               android:dither="true">

            <corners android:radius="2dp" />

            <solid android:color="@android:color/white" />

            <padding android:bottom="8dp"
                     android:left="8dp"
                     android:right="8dp"
                     android:top="8dp" />
        </shape>
    </item>
</layer-list>

尝试更改分隔线高度,这是我的代码,它没有摆脱灰线:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout
        android:id="@+id/linlaHeaderProgress"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:visibility="gone" >

        <ProgressBar
            android:id="@+id/pbHeaderProgress"
            style="android@style/Spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </ProgressBar>
    </LinearLayout>

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:dividerHeight="0px"
        >
    </ListView>

</LinearLayout>
4

5 回答 5

16

dividerHeight 应该工作。作为一种解决方法,您可以将分隔线的颜色更改为背景颜色或透明颜色

<ListView 
 android:id="@+id/android:list"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:divider="#E6E6E6"
 android:dividerHeight="0px"/>

你也可以试试这个技巧:

 android:divider="@null"
于 2013-09-11T06:57:22.893 回答
4

我刚刚遇到了确切的问题。XML 中的任何内容都不会影响列表视图的结果。相反,正如 Quanturium 在评论中已经提到的那样,我去了我的 ListFragmentonActivityCreated并添加了 -

getListView().setDivider(null);
getListView().setDividerHeight(0);

希望这可以帮助!

于 2013-09-12T01:03:41.157 回答
0

看起来您正在使用列表视图,请尝试在您的列表视图中设置此参数android:dividerHeight="0px"

于 2013-09-11T01:28:46.237 回答
0

看来您正在使用列表视图,并且此 XML 是列表项。灰线是列表分隔线。对于列表视图,将其设置为零,如 android:dividerHeight="0dp"。

于 2013-09-11T01:30:17.907 回答
0

我需要放

分割高度 = 0px

并且 chage color 等于我的背景颜色,在这种情况下

android:divider="#FFFFFF"
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="0px"
android:divider="#FFFFFF"
/>
于 2017-11-05T03:32:42.220 回答