IM 即时通讯 (441)
Android (210)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (44)
iOS (166)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (20)
Web (36)
Server (29)
设置输入面板监听
设置输入面板监听,设置后,面板中的各个组成元素被点击时,通过此监听回调
发布时间: 2018-07-04 19:13
回答:
监听方法是在RongExtension里面
public void setExtensionClickListener(IExtensionClickListener clickListener) { this.mExtensionClickListener = clickListener; }
因为ConversationFragment中获取到RongExtension实例并调用setExtensionClickListener方法设置了监听,所以开发者要实现监听的话,只需要继承ConversationFragment,然后重写IExtensionClickListener里面的相关方法就可以了:
/** * 点击 “发送” * * @param v “发送” view 实例 * @param text 输入框内容 */ void onSendToggleClick(View v, String text); /** * 发送图片结果 * sdk 中集成了发送图片功能,在相册选择图片并发送后,回调此方法。 * * @param selectedImages 要发送的图片地址列表 * @param origin 是否发送原图 */ void onImageResult(List<Uri> selectedImages, boolean origin); /** * 发送地理位置结果 */ void onLocationResult(double lat, double lng, String poi, Uri thumb); /** * 点击左侧按钮(例如:左侧语音切换按钮,客服时的转人工按钮) * 切换后,回调中携带 ViewGroup,用户可以添加自己的布局 * * @param v ”切换“ 实例 * @param extensionBar 切换后的输入面板 ViewGroup(例如:语音输入面板,公众号时的菜单面板) */ void onSwitchToggleClick(View v, ViewGroup extensionBar); /** * 点击“按住 说话”,用户可以在此回调方法中实现录音功能。 * * @param v 语音输入面板 view 实例 * @param event 点击事件 */ void onVoiceInputToggleTouch(View v, MotionEvent event); /** * 点击“表情” 回调. * * @param v 表情 view 实例 * @param extensionBoard 用于展示表情的 ViewGroup */ void onEmoticonToggleClick(View v, ViewGroup extensionBoard); /** * 点击 “+” 号区域, 回调中携带 ViewGroup * * @param v “+” 号 view 实例 * @param extensionBoard 用于展示 plugin 的 ViewGroup */ void onPluginToggleClick(View v, ViewGroup extensionBoard); /** * 菜单点击回调。 * 如果点击一级菜单,root 对应一级菜单的索引,sub 为 -1. * 如果点击二级菜单,sub 为二级菜单的索引,root 为 sub 所属的父菜单。 * * @param root 一级菜单。 * @param sub 二级菜单。 */ void onMenuClick(int root, int sub); /** * 点击 “输入框” 时回调。 * * @param editText “输入框” 实例 */ void onEditTextClick(EditText editText); /** * Called when a hardware key is dispatched to EditText. * * @param editText The view the key has been dispatched to. * @param keyCode The code for the physical key that was pressed * @param event The KeyEvent object containing full information about * the event. * @return True if the listener has consumed the event, false otherwise. */ boolean onKey(View editText, int keyCode, KeyEvent event); /** * Extension 收起。 */ void onExtensionCollapsed(); /** * Extension 已展开。 * * @param h Extension 展开后的高度。 */ void onExtensionExpanded(int h); /** * Plugin 点击回调。 * * @param pluginModule 被点击的Plugin。 * @param position 被点击Plugin所在的位置。 */ void onPluginClicked(IPluginModule pluginModule, int position);