Android 使用 RecyclerView 聊天

Android chat using RecyclerView

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

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

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

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

android:layout_toRightOf="@+id/message

使用这个

android:layout_alignParentRight="true"

现在,要在 recyclerview 的项目之间添加 space,您需要添加 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列表项之间的space。