我在布局中有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:visibility="gone"
代替。
INVISIBLE
相当于使您的视图100%透明,但是GONE
会使您的视图消失,并且布局中的所有其他视图将重新计算其位置,就好像您的视图不存在一样。