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:elevation0dp 之外,只需从&lt;com.google.android.material.card.MaterialCardView /&gt; 中删除android:layout_marginBottom="20dp",然后为您的孩子在其中添加android:padding 以使间距

【讨论】:

我只是尝试这样做(我在问题中发布了更新的代码)但它不起作用 能否将MaterialCardView的高度设置为wrap content再试一下,相对布局也必须有wrap content的高度

以上是关于Java Android 删除回收站中的项目大纲的主要内容,如果未能解决你的问题,请参考以下文章

使用 OnClick 删除回收站视图中的项目。 Firebase 安卓

Android,删除列表和sqlite java中的项目

2.Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)

SQL随记

Python在删除字典中的项目后回收内存

获取 Alphabet 的大纲作为 Android 中的路径