Android仿微信聊天记录“图片及视频”默认最新图片从底部显示(时间排序升序)

1

Android仿微信聊天记录“图片及视频”默认最新图片从底部显示(时间排序升序)

仿微信聊天记录“图片及视频”效果实现

在 Android 应用开发中,为了提高用户体验,我们经常需要实现类似微信聊天记录的功能,即在聊天记录列表中显示图片和视频,并且最新的图片或视频从底部开始显示。下面我们将一步步地描述如何实现这个效果。

1. 设置recycler的LinearLayoutManager首先,我们需要设置 recycler 的 LinearLayout Manager,以便能够按照时间顺序(升序)排列聊天记录。

```javaLinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);

linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); // 必须设置为垂直方向recyclerView.setLayoutManager(linearLayoutManager);

```

2. 创建适配器接下来,我们需要创建一个适配器来显示聊天记录列表。我们可以使用 RecyclerView.Adapter 来实现这个功能。

```javapublic class ChatRecordAdapter extends RecyclerView.Adapter {

private List chatRecords;

public ChatRecordAdapter(List chatRecords) {

this.chatRecords = chatRecords;

}

@NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_chat_record, parent, false);

return new ViewHolder(view);

}

@Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

ChatRecord chatRecord = chatRecords.get(position);

holder.bindData(chatRecord);

}

@Override public int getItemCount() {

return chatRecords.size();

}

class ViewHolder extends RecyclerView.ViewHolder {

private ImageView imageView;

private TextView textView;

public ViewHolder(@NonNull View itemView) {

super(itemView);

imageView = itemView.findViewById(R.id.image_view);

textView = itemView.findViewById(R.id.text_view);

}

public void bindData(ChatRecord chatRecord) {

// 根据聊天记录类型显示图片或视频 if (chatRecord.getType() == ChatRecord.TYPE_IMAGE) {

imageView.setImageResource(chatRecord.getImageResId());

textView.setVisibility(View.GONE);

} else if (chatRecord.getType() == ChatRecord.TYPE_VIDEO) {

imageView.setImageResource(R.drawable.video_icon);

textView.setText(chatRecord.getVideoDuration());

}

}

}

}

```

3. 创建ChatRecord类我们需要创建一个 ChatRecord 类来表示聊天记录的基本信息。

```javapublic class ChatRecord {

public static final int TYPE_IMAGE =1;

public static final int TYPE_VIDEO =2;

private int type;

private int imageResId;

private String videoDuration;

public ChatRecord(int type, int imageResId) {

this.type = type;

this.imageResId = imageResId;

}

public ChatRecord(int type, String videoDuration) {

this.type = type;

this.videoDuration = videoDuration;

}

public int getType() {

return type;

}

public int getImageResId() {

return imageResId;

}

public String getVideoDuration() {

return videoDuration;

}

}

```

4. 设置适配器和数据源最后,我们需要设置适配器和数据源。

```javarecyclerView.setAdapter(new ChatRecordAdapter(chatRecords));

```

效果实现

经过以上步骤,我们就可以实现类似微信聊天记录的功能,即在聊天记录列表中显示图片和视频,并且最新的图片或视频从底部开始显示。

注意:上述代码仅供参考,具体实现可能需要根据实际需求进行调整。

聊天视频androidandroidstudioandroid-studio

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 删除的微信聊天记录怎么恢复?高手指导还原教程,99%的人用了都说好

下一篇 IP-GUARD监控不到微信聊天内容了解决方案