输入区域
IMKit 的输入区域是在 RongExtension
统一创建和控制的,支持自定义输入模式、自定义扩展区域(插件)、以及自定义表情。
提示
下图输入区从左至右依次是语音/文本切换按钮、内容输入框、表情面板按钮、扩展面板按钮。
修改输入栏组合模式
IMKit 输入栏提供语音/文本切换、内容输入、扩展区域功能,并支持修改输入组合模式。例如,您可以移除语音/文本切换按钮和扩展面板,仅保留内容输入功能。
目前提供了多种排列组合模式:
组合模式 | XML 资源 | 枚举 |
---|---|---|
语音/文本切换功能+内容输入功能+扩展面板 | SCE | STYLE_SWITCH_CONTAINER_EXTENSION |
语音/文本切换功能+内容输入功能 | SC | STYLE_CONTAINER |
扩展面板+内容输入功 能 | EC | --- |
内容输入功能+扩展面板 | CE | STYLE_SWITCH_CONTAINER |
内容输入功能 | C | STYLE_CONTAINER |
如需全局修改,可通过修改全局默认输入模式实现。请复制 rc_conversation_fragment.xml 的全部内容,在应用程序项目的 res/layout/
下创建同名文件,找到 RongExtension
组件后添加 app:RCStyle="SCE"
,更改默认输入显示形式。
如需动态修改,需要继承 IMKit 的 ConversationFragment
实现自定义的会话页面 Activity,在 ConversationFragment
子类中重写 setInputPanelStyle()
方法,该方法接受的枚举值可参见上表。
public class ChatFragment extends ConversationFragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mRongExtension.getInputPanel().setInputPanelStyle(STYLE_CONTAINER_EXTENSION);
}
}
隐藏输入栏中的表情面板按钮
提示
IMKit SDK 从 5.3.2 版本开始提供该功能。
在 App 不需要提供表情输入功能时,可通过 IMKit 全局配置隐藏进入表情面板的按钮。
在进入会话页面前隐藏展开表情面板的按钮。
RongConfigCenter.featureConfig().setHideEmojiButton(true);
输入区域扩展面板
融云将点击输入栏 +
号按钮时展示的面板称为扩展面板,扩展面板上展示当前可用的插件。