模块conversation
ConversationFragment
ConversationUiState
引入mutableStateOf,来标明这个data是有状态的,如果状态发生了改变,所有引用这个状态的控件都发生了改变,都需要重新绘制!
remember将值存储起来,当界面发生了重新绘制,就会读之前存储的值。
参数封装了channel,和成员的个数,带状态的消息列表
和前面文章介绍一样,@Immutable 定义了不可以改变的Message实体(@Immutable 定义不可变的实体有利于优化组合)
UserInput.kt 输入组件
JumpToBottom.kt 点击跳转到底部的组件
MessageFormatter.kt
Format a message following Markdown-lite syntax
网友评论