如何在Android中将圆角添加为Recyclerview的背景

10

我有一个列表,想要为它添加类似圆角的背景,使得列表看起来像一个大的卡片视图。我该如何实现这样的效果,就像谷歌翻译一样。

圆角背景随着列表的滚动而滚动。因此,shape.xml解决方案在这里不起作用

这是翻译页面的截屏。


1
看一下这个... https://dev59.com/6V4b5IYBdhLWcg3wxEGm - JpCrow
2个回答

18

使用此XML

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/color_white"/>

    <stroke android:width="3dp"
        android:color="@color/grey_ask"
        />

    <padding android:left="1dp"
        android:top="1dp"
        android:right="1dp"
        android:bottom="1dp"
        />

    <corners android:bottomRightRadius="7dp"
        android:bottomLeftRadius="7dp"
        android:topLeftRadius="7dp"
        android:topRightRadius="7dp"/>
</shape>

增加*半径值以获得更多的圆润度。 将其添加为RecyclerView的背景。

android:background="@drawable/nameofxml"

2
谢谢你的回答。我知道这个解决方案可以为listview添加背景。但是背景是静态的。我希望背景可以像listview一样滚动。所以你有其他想法吗? - penghaitao
我不确定我理解你的意思,这个背景将为您的ListView(容器)提供圆角..这不是最初的要求吗? 这是一个形状可绘制对象。 - yUdoDis
2
是的,但是当我滚动这个列表视图时,我希望背景随着列表视图移动。就像一张卡片。但是这个解决方案中,背景只是静止在那里,而列表视图只是在内部滚动。如果您使用翻译应用程序,您可能会理解我的意思。我的英语不好,请原谅我。谢谢您的帮助。 - penghaitao
2
@penghaitao,您需要将边框添加到Recycler视图的项布局中,而不是RecylerView本身。 - Themasterhimself
当我将背景颜色设置为RecyclerView项时,这不起作用! - Hadi
如果我将角半径设置为80dp,例如,项目将在透明角上滚动和淡出,有没有什么技巧可以使项目在背景可绘制物下面淡出,就像recyclerview实际上被剪切了其角一样。 - joghm

0
将recyclerview放在一个cardview中,并设置cardview的圆角半径。

4
您的答案可以通过提供更多支持性信息来改进。请[编辑]以添加更多细节,例如引用或文献,以便他人可以确认您的答案正确无误。您可以在帮助中心中获取有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接