温馨提示:
使用安卓版本插件时需要打包选择压缩模式,不适用于平移模式,如果个别页面需要使用平移模式,可以根据需要动态切换键盘模式,调用此设置键盘模式接口。
插件测试用例与源码下载:点击插件中心至插件详情页 (插件测试用例与插件源码已经提供)
本文的目的是为了开发能够更好更快地将API集成到自己的项目中,在使用前最好先使用好我们提供的demo并对照文档运行看看效果。 这里可以【参考教程】下载AppCan IDE为开发者工具开发,然后集成到自己的项目上。
本插件的所有API默认支持Android4.0+和iOS7.0+操作系统.
有特殊版本要求的API会在文档中额外说明.
本插件所有API默认在插件版本4.0.0+可用.
在后续版本中新添加的接口会在文档中额外说明.
open //在界面的底部打开聊天输入框界面
uexChatKeyboard.open(viewInfo)
说明:
在界面的底部打开聊天输入框界面
参数:
var viewInfo={
"emojicons":,
"shares":,
"placeHold":,
"touchDownImg": ,
"dragOutsideImg": ,
"textColor": ,
"textSize": ,
"sendBtnbgColorUp": ,
"sendBtnbgColorDown": ,
"sendBtnText": ,
"maxLines":,
"sendBtnTextSize": ,
"sendBtnTextColor": ,
"inputMode":,
"keywords":,
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
emojicons | String | 是 | 自定义表情配置文件的路径res协议,详见配置如下 |
shares | String | 是 | 自定义分享选项配置文件的路径res协议,详见配置如下 |
placeHold | String | 否 | 输入框提示语 |
touchDownImg | String | 否 | 录音按钮按下时提示控件的背景 |
dragOutsideImg | String | 否 | 按下录音按钮后滑动到录音范围之外时提示控件的背景 |
textColor | String | 否 | 录音时间文字颜色 |
textSize | Number | 否 | 录音时间文字大小 |
sendBtnbgColorUp | String | 否 | 发送按钮正常时控件的背景 |
sendBtnbgColorDown | String | 否 | 发送按钮按下时控件的背景 |
sendBtnText | String | 否 | 发送按钮展示文字 |
sendBtnTextSize | Number | 否 | 发送按钮文字大小 |
sendBtnTextColor | String | 否 | 发送按钮文字颜色 |
inputMode | Number | 否 | 输入框默认输入方式,0-文字输入;1-语音输入.默认为0. |
keywords | Array | 否 | 要监听的输入关键字,是由字符串构成的数组.默认为空数组 |
maxLines | Number | 否 | 输入框的最大行数 |
参数emojicons的自定义表情配置文件为:"res://emojicons/emojicons.xml"res协议路径,详细配置步骤:
1、在widget的wgtRes目录下创建emojicons目录; 2、在emojicons目录中放入表情以及删除的图片资源,表情的默认命名格式: ace_emoji_1,删除的默认命名格式:ace_emoji_delete.png; 3、在emojicons中创建emojicons.xml文件,格式如下:
<?xml version="1.0" encoding="utf-8"?>
<emojicons delete="ace_emoji_delete.png ">
<key>[微笑]</key>
<string> ace_emoji_1.png</string>
<key>[憋嘴]</key>
<string> ace_emoji_2.png</string>
</emojicons>
delete
:删除对应的图片名;key
:表情对应的文字;string
:表情对应的图片名;参数shares的自定义分享选项配置文件为:"res://emojicons/emojicons.xml"res协议路径,详细配置步骤:
1、在widget的wgtRes目录下创建shares目录; 2、在shares中放入分享选项的图片资源,图片的默认命名格式: ace_share_1; 3、在shares中创建shares.xml文件,格式如下:
<?xml version="1.0" encoding="utf-8"?>
<shares>
<key>拍照</key>
<string>ace_share_1.png</string>
<key>图片</key>
<string>ace_share_2.png</string>
<key>位置</key>
<string>ace_share_3.png</string>
</shares>
key
:分享选项显示的文字 string
:分享选项对应的图片名说明;示例:
var json = {
"emojicons": "res://emojicons/emojicons.xml",
"shares": "res://shares/shares.xml",
"placeHold": "请输入内容",
"touchDownImg": "res://1.png",
"dragOutsideImg": "res://2.png",
"textColor": "#FFF",
"textSize": "15.5",
"sendBtnbgColorUp": "#45C01A",
"sendBtnbgColorDown": "#298409",
"sendBtnText": "发送",
"sendBtnTextSize": "15.5",
"sendBtnTextColor": "#FFF",
"inputMode":1,
"keywords": ["@"]
};
uexChatKeyboard.open(JSON.stringify(json));
close //关闭聊天输入
uexChatKeyboard.close()
说明:
关闭聊天输入
参数:
无
示例:
uexChatKeyboard.close();
getInputBarHeight //获取输入工具条高度
uexChatKeyboard.getInputBarHeight();
说明
获取输入工具条高度
参数:
无
返回值:
Number类型,工具条高度.
示例:
var result = uexChatKeyboard.getInputBarHeight();
alert(result);
hideKeyboard //收起键盘
uexChatKeyboard.hideKeyboard()
说明:
收起键盘.
参数:
无
示例:
uexChatKeyboard.hideKeyboard();
changeWebViewFrame //改变webview的高度以适应弹出的键盘
uexChatKeyboard.changeWebViewFrame(height)
说明:
当收到 onKeyBoardShow回调,并且status为1时调用这个方法传入当前div内容的高度,键盘会根据高度将聊天内容推上去
在键盘弹出的时候,改变浮动窗口中内容div的高度,可以避免内容被键盘遮挡。对于Android的话,需要通过js来计算进行处理;而对于iOS的需要调用changeWebViewFrame这个接口来处理。
注:获取完整参考demo
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
height | Number | 是 | div的高度 |
平台支持:
iOS7.0+
示例:
uexChatKeyboard.changeWebViewFrame(600);
insertTextByKeyword //通过关键字插入内容
uexChatKeyboard.insertTextByKeyword(jsonStr)
说明: 通过关键字插入内容功能。调用此接口之前需要在open方法中设置参数keywords来监听关键字(例如:@),监听方法uexChatKeyboard.onInputKeyword 例子: @好友功能,收到关键字“@”的监听uexChatKeyboard.onInputKeyword之后,选择好友。选择完毕后调用此接口添加好友到关键字@后面,或替换原有@字符。
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
jsonStr | String | 是 | 插入信息参数,json格式如下: |
var jsonStr = {
'keyword' : ,//关键字
'insertText' : ,//插入的数据
'isReplaceKeyword' : // 是否替换掉关键字,0:不替换;1:替换
};
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
keyword | String | 是 | 关键字 |
insertText | String | 是 | 插入的数据 |
isReplaceKeyword | Number | 是 | 是否替换掉关键字,0:不替换;1:替换 |
示例:
var params = {
keyword : '@',
insertText : '@守望宝宝',
isReplaceKeyword : 1
};
uexChatKeyboard.insertTextByKeyword(JSON.stringify(params));
setText //设置输出框的文字
uexChatKeyboard.setText(text);
说明
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
text | String | 是 | 输入框文字 |
返回值:
Boolean类型,是否设置成功
示例:
var result = uexChatKeyboard.setText("文字");
alert(result);
getText //获取输出框的文字
uexChatKeyboard.getText();
说明
参数:
无
返回值:
String类型,输入框的文字
示例:
var result = uexChatKeyboard.getText();
alert(result);
onCommit //完成输入的监听方法
uexChatKeyboard.onCommit(data)
说明
完成输入的监听方法
参数:
var data={
"emojiconsText":
}
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
emojiconsText | String | 是 | 输入框里的内容 |
示例
uexChatKeyboard.onCommit = function(data){
alert(data);
}
onShareMenuItem //点击分享里选项的监听方法
uexChatKeyboard. onShareMenuItem(data)
说明
点击分享里选项的监听方法
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
data | Number | 是 | 分享里各选项对应的位置 |
示例
uexChatKeyboard.onShareMenuItem = function(data){
alert(data);
}
onVoiceAction //录音按钮的监听方法
uexChatKeyboard. onVoiceAction(data)
说明
录音按钮的监听方法
参数:
var data={
"status":,//录音按钮的状态,0:开始录音,1:录音完成,-1:取消录音
}
示例
uexChatKeyboard.onVoiceAction = function(data){
alert(data);
}
onKeyBoardShow //键盘弹出或收起时的监听方法
uexChatKeyboard.onKeyBoardShow(json)
参数:
var json = {
status:
}
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
status | Number | 是 | 键盘状态 0-收起 1-弹出 |
示例:
function onKeyBoardShow(data) {
alert(data);
}
window.uexOnload = function(){
uexChatKeyboard.onKeyBoardShow = onKeyBoardShow;
}
onCommitJson //点击发送的监听方法
uexChatKeyboard.onCommitJson(json)
参数:
var json = {
emojiconsText:
}
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
emojiconsText | String | 是 | 输入框里的内容 |
示例:
function onCommitJson(data) {
alert(data);
}
window.uexOnload = function(){
uexChatKeyboard.onCommitJson = onCommitJson;
}
onInputKeyword //编辑框输入监测的关键字之后的监听方法
uexChatKeyboard.onInputKeyword(json)
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
json | JSON Object类型 | 是 | 回调数据json格式如下 |
var json = {
keyword:,//触发的关键字
}
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
keyword | String | 是 | 触发的关键字 |
示例:
window.uexOnload = function(){
uexChatKeyboard.onInputKeyword = function(json) {
var keyword = json.keyword;
if(keyword == '@'){
var params = {
keyword : '@',
insertText : '@守望宝宝',
isReplaceKeyword : 1
};
uexChatKeyboard.insertTextByKeyword(JSON.stringify(params));
}
}
}
API版本: uexChatKeyboard-4.0.1
最近更新时间:2017-2-06
历史发布版本 | 更新内容 |
---|---|
4.0.1 | 添加setText,getText接口 |
API版本: uexChatKeyboard-4.0.1
最近更新时间:2017-2-06
历史发布版本 | 更新内容 |
---|---|
4.0.1 | 添加setText,getText接口 |