我在布局中有2张Cardview,我显示的布局是Recyclerview的一部分,Recyclerview被多次创建。

我只想在特定情况下显示第二张卡片视图;但是当我不想显示它时,它留下了空白。

我默认将android:visibility="invisible"用于第二张卡片视图

我的第二张Cardview代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_margin="20dp"
        android:clickable="true"
        android:elevation="5dp"
        android:foreground="?attr/selectableItemBackground"
        card_view:cardCornerRadius="10dp">

...

  <android.support.v7.widget.CardView
        android:id="@+id/cv_ad"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_margin="20dp"
        android:clickable="true"
        android:elevation="5dp"
        android:foreground="?attr/selectableItemBackground"
        card_view:cardCornerRadius="10dp"
        android:visibility="invisible">

...


android - 如何从Recyclerview隐藏Cardview-LMLPHP

最佳答案

采用

android:visibility="gone"


代替。

INVISIBLE相当于使您的视图100%透明,但是GONE会使您的视图消失,并且布局中的所有其他视图将重新计算其位置,就好像您的视图不存在一样。

07-24 09:46
查看更多