Java Android 删除回收站中的项目大纲
Posted
技术标签:
【中文标题】Java Android 删除回收站中的项目大纲【英文标题】:Java Android Remove the outline of items in a recyclervciew 【发布时间】:2021-10-02 16:01:41 【问题描述】:我正在开发一个在我的 Firebase 实时数据库中搜索用户的活动,并且我正在使用 cradview 作为布局来膨胀:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:backgroundTint="#FFFFFF"
android:elevation="0dp"
android:layout_marginBottom="20dp">
<RelativeLayout
android:layout_
android:layout_
>
<androidx.cardview.widget.CardView
android:id="@+id/crdProfileImage"
android:layout_
android:layout_
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
app:cardBackgroundColor="@color/textC"
app:cardCornerRadius="30dp">
<ImageView
android:id="@+id/imgHolder"
android:layout_
android:layout_
android:src="@drawable/user_default"
android:scaleType="centerCrop"/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/txtUsername"
android:layout_
android:layout_
android:text="Username"
android:textColor="@color/black"
android:layout_marginTop="5dp"
android:fontFamily="sans-serif"
android:textStyle="bold"
android:layout_toEndOf="@+id/crdProfileImage"
android:layout_marginLeft="25dp"
android:textSize="25dp"/>
<TextView
android:id="@+id/txtBio"
android:layout_
android:layout_
android:textColor="@color/black"
android:layout_alignStart="@+id/txtUsername"
android:layout_marginTop="35dp"
android:text="Hi, this is my biography."/>
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>
但是,我注意到当recyclerview输出item时,item出现了一个轮廓:
我以为是海拔,所以我在recyclerview和cardview的布局上都设置为0,但结果没有改变。有人知道怎么解决吗?
编辑:
我试图删除边距底部,但它仍然显示高度:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:backgroundTint="#FFFFFF"
card_view:cardElevation="0dp"
>
<RelativeLayout
android:layout_
android:layout_
>
<androidx.cardview.widget.CardView
android:id="@+id/crdProfileImage"
android:layout_
android:layout_
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
app:cardElevation="0dp"
app:cardBackgroundColor="@color/textC"
app:cardCornerRadius="30dp">
<ImageView
android:id="@+id/imgHolder"
android:layout_
android:layout_
android:src="@drawable/user_default"
android:scaleType="centerCrop"/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/txtUsername"
android:layout_
android:layout_
android:text="Username"
android:textColor="@color/black"
android:layout_marginTop="5dp"
android:fontFamily="sans-serif"
android:textStyle="bold"
android:layout_toEndOf="@+id/crdProfileImage"
android:layout_marginLeft="25dp"
android:textSize="25dp"/>
<TextView
android:id="@+id/txtBio"
android:layout_
android:layout_
android:textColor="@color/black"
android:layout_alignStart="@+id/txtUsername"
android:layout_marginTop="35dp"
android:text="Hi, this is my biography."/>
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>
【问题讨论】:
【参考方案1】:使用
card_view:cardElevation="0dp"
代替
android:elevation="0dp"
【讨论】:
我刚刚尝试过,但是在删除 cardview 中的高程时,当它们是 recyclerview 输出中的项目时,它不会从 cardviews 中删除高程,高程只会从项目布局中删除。不知道我有没有说清楚【参考方案2】:添加以下代码行以禁用outlineProvider
:
android:outlineProvider="none"
【讨论】:
【参考方案3】:除了android:elevation
是0dp
之外,只需从<com.google.android.material.card.MaterialCardView />
中删除android:layout_marginBottom="20dp"
,然后为您的孩子在其中添加android:padding
以使间距
【讨论】:
我只是尝试这样做(我在问题中发布了更新的代码)但它不起作用 能否将MaterialCardView的高度设置为wrap content再试一下,相对布局也必须有wrap content的高度以上是关于Java Android 删除回收站中的项目大纲的主要内容,如果未能解决你的问题,请参考以下文章
使用 OnClick 删除回收站视图中的项目。 Firebase 安卓