gpt4 book ai didi

使用 RecyclerView 进行 Android 聊天

转载 作者:行者123 更新时间:2023-11-29 01:12:54 32 4
gpt4 key购买 nike

我正在尝试使用 RecyclerView 创建一个聊天应用程序,以在 chatBubble 表单 中显示消息列表。

在 recyclerView 中,在每一行布局中我都有两个 TextView 。一个用于显示消息,另一个用于显示时间戳。对于短消息,它有效。但是,对于长消息,聊天气泡会变得太大,并且在这种情况下看不到相应的用于显示时间戳的 TextView。

  1. 为什么会发生这种情况以及如何纠正这种情况,
  2. 此外,RecyclerView 中每个项目之间的空间需要增加,我尝试使用 android:dividerHeight="12dp" 但它没有用。

最佳答案

正如@Mohammed Atif 评论的那样,而不是使用

android:layout_toRightOf="@+id/message

用这个

android:layout_alignParentRight="true"

现在,要在 recyclerview 的项目之间添加空间,您需要添加 itemDecorator

public class VerticalSpaceItemDecoration extends RecyclerView.ItemDecoration {

private final int mVerticalSpaceHeight;

public VerticalSpaceItemDecoration(int mVerticalSpaceHeight) {
this.mVerticalSpaceHeight = mVerticalSpaceHeight;
}

@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
if (parent.getChildAdapterPosition(view) != parent.getAdapter().getItemCount() - 1) {
outRect.bottom = mVerticalSpaceHeight;
}
}

然后像这样将这个项目装饰器添加到recyclerview

recyclerview.addItemDecoration(new VerticalSpaceItemDecoration(2));

这里,2 是 recyclerview 列表项之间的空间。

关于使用 RecyclerView 进行 Android 聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41703017/

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