gpt4 book ai didi

android - 无法为 Recycler View 项目添加阴影和边框

转载 作者:太空狗 更新时间:2023-10-29 15:40:09 27 4
gpt4 key购买 nike

我已经创建了一个 recycler view 并添加了一个 offset item decoration 并向列表项添加了 elevation 属性,但它不起作用。请帮忙!!

这就是我想要的

enter image description here

我有什么

enter image description here

我的偏移项目装饰代码

public class ItemOffsetDecoration extends RecyclerView.ItemDecoration {

private int mItemOffset;

private ItemOffsetDecoration(int itemOffset) {

mItemOffset = itemOffset;

}

public ItemOffsetDecoration(@NonNull Context context, @DimenRes int itemOffsetId) {

this(context.getResources().getDimensionPixelSize(itemOffsetId));

}

@Override

public void getItemOffsets(Rect outRect, View view, RecyclerView parent,

RecyclerView.State state) {

super.getItemOffsets(outRect, view, parent, state);

outRect.set(mItemOffset, mItemOffset, mItemOffset, mItemOffset);

}

}

这是添加Card View 并使用elevation 属性后的列表项。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:longClickable="true"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/row_padding_vertical">

<android.support.v7.widget.CardView
android:id="@+id/transaction_cardView"
android:layout_width="match_parent"
android:layout_height="80dp"
android:elevation="20dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="0dp">

<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/txtHour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="8dp"
android:layout_marginTop="2dp"
android:text="5:10"
android:textAlignment="viewEnd"
android:textColor="@color/transaction_text"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtDate" />

<TextView
android:id="@+id/txtDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/txtAmount"
android:layout_alignParentTop="true"
android:ellipsize="end"
android:lines="1"
android:text="TextView"
android:textColor="@color/transaction_text"
android:textSize="25sp"
app:layout_constraintTop_toBottomOf="@+id/txtAmount" />

<TextView
android:id="@+id/txtAmount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/txtDescription"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="8dp"
android:lines="1"
android:text="TextView"
android:textColor="@color/transaction_text"
android:textSize="26sp"
android:textStyle="bold"
android:typeface="sans"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:text="07/01/2"
android:textAlignment="textEnd"
android:textColor="@color/transaction_text"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

</android.support.v7.widget.CardView>


</RelativeLayout>

我认为如果这段代码中没有设置边界,这是行不通的。

如有任何帮助,我们将不胜感激!

最佳答案

尝试在 recyclerView 的 item_file 中添加 cardView 作为您的主要布局,您可以设置高度

这里可以引用下面的代码:

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="4dp"
app:cardElevation="5dp"
app:cardUseCompatPadding="true">

<YOUR LAYOUT>
</android.support.v7.widget.CardView>

关于android - 无法为 Recycler View 项目添加阴影和边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48403257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com