Android(Compose)

最近更新时间:2025-11-25 09:48:01

我的收藏

组件概述

MessageInput 是基于 Jetpack Compose 构建的消息输入组件,为用户提供完整的消息编辑和发送功能。该组件支持多种消息类型的输入和发送,包括文本消息、图片、视频、文件、语音等,同时提供表情选择等增强功能,支持多种样式配置和自定义选项。
消息输入界面
表情选择器



组件集成

MessageInput 组件属于 TUIKit Compose 的一部分,集成 TUIKit Compose 即可获取并使用 MessageInput 组件。集成方法请参考文档 TUIKit Compose 里的集成步骤。

组件构成

MessageInput 组件包含消息输入核心组件和样式配置协议,提供了消息输入功能,并支持自定义。

对外方法

方法名
参数
描述
MessageInput
conversationID: String
会话 ID,用于标识当前聊天会话。如果是单聊,组成方式为 c2c_userID。如果是群聊,组成方式为 group_groupID。
modifier: Modifier
Jetpack Compose 中用来设置组件的样式、布局、行为和外观。
config: MessageInputConfigProtocol
输入样式配置,控制各功能按钮的显示。
messageInputViewModelFactory: MessageInputViewModelFactory
创建组件内部 MessageInputViewModel 的工厂类。通常情况下,您无需手动创建,组件已提供默认实现。

基础用法

MessageInput 组件可直接初始化使用,需要提供会话 ID。
Box(
modifier = Modifier
.fillMaxWidth()
) {
MessageInput(
conversationID = conversationID,
modifier = Modifier.navigationBarsPadding()
)
}

自定义组件

您可以自定义决定是否显示输入栏上的功能入口:
// 自定义显示哪些功能按钮
MessageInput(
conversationID = conversationID,
config = ChatMessageInputConfig(
isShowAudioRecorder = false, // 隐藏语音录制
isShowPhotoTaker = true, // 显示拍照功能
isShowMore = true, // 显示更多功能
)
)
自定义效果如下图所示:
默认输入框
隐藏输入框上的语音录制功能
隐藏输入框上的全部功能