如何移除RecyclerView(RecyclerView.Adapter)的边框?首次开发消息应用卡在此处
嘿,我来帮你搞定这个RecyclerView的边框问题!从你贴的代码来看,RecyclerView本身的XML配置里并没有设置边框属性,所以问题大概率出在item布局或者相关的drawable资源上,下面给你几个排查和解决的方向:
1. 检查消息气泡的背景Drawable
你给message_text设置了@drawable/white_rounded_chat作为背景,这个drawable很可能定义了边框。打开res/drawable/white_rounded_chat.xml文件,看看里面是不是有<stroke>标签——这就是用来设置边框的。
比如如果你的drawable代码是这样的:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:radius="16dp" /> <!-- 这行就是边框设置,删掉或者把width改成0dp --> <stroke android:width="1dp" android:color="@color/gray" /> </shape>
直接删掉<stroke>这部分代码,或者把android:width设为0dp,就能移除消息气泡的边框了。
2. 移除RecyclerView的Item分隔线
如果你在代码里给RecyclerView添加了ItemDecoration(比如默认的分隔线),也会出现类似边框的效果。检查你的Activity/Fragment代码,有没有这样的行:
chat_list.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
如果有的话,把这行代码删掉,就能去掉item之间的分隔线了。
3. 修正item根布局的背景,避免视觉错觉
你的RecyclerView背景是lightgray,而item的根布局RelativeLayout没有设置背景,加上它有android:padding="10dp",这会导致RecyclerView的灰色背景透过padding区域露出来,看起来像是item周围有边框。
解决方法很简单,给RelativeLayout添加一个背景色,比如和消息气泡一致的白色:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:background="@color/white"> <!-- 添加这行 -->
这样就不会有灰色的“边框”视觉效果了。
按照这几个方向排查,应该就能解决你遇到的边框问题啦!
内容的提问来源于stack exchange,提问作者Syed Sahar Ali Raza

