Представление карты Android имеет тонкую серую линию между картами

У меня есть представление списка 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>

person Mike    schedule 11.09.2013    source источник
comment
в чем вопрос?   -  person Peshal    schedule 11.09.2013
comment
В элементе Listview установите для параметраdivirHeight значение 0dp, а для параметраdivirColor — значение @android:color/transparent.   -  person Jitesh Dalsaniya    schedule 11.09.2013


Ответы (5)


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"
person adek    schedule 11.09.2013

У меня только что была точная проблема. Ничто из XML не влияло на результат просмотра списка. Вместо этого, как уже упоминалось в комментарии Quanturium, я перешел к своему ListFragment onActivityCreated и добавил:

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

Надеюсь это поможет!

person xShay    schedule 12.09.2013

Похоже, вы используете список, попробуйте установить этот параметр в вашем списке android:dividerHeight="0px"

person Quanturium    schedule 11.09.2013
comment
попробовал, и он не избавился от линии. Я добавил код в свой вопрос выше. - person Mike; 11.09.2013
comment
@Mike stackoverflow.com/questions /7081514/ - person Quanturium; 11.09.2013

Похоже, вы используете представление списка, и этот XML является элементом списка. Серая линия — это разделитель списка. Установите его равным нулю, как это android:dividerHeight="0dp" для просмотра списка.

person prijupaul    schedule 11.09.2013
comment
не сработало, я также попробовал ваш ответ, и у меня все еще были серые линии. - person Mike; 11.09.2013

мне нужно положить

высота делителя = 0px

и цвет chage равен моему цвету фона, в этом случае

android:divider="#FFFFFF"
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="0px"
android:divider="#FFFFFF"
/>
person Ênio Rodrigues    schedule 05.11.2017