open close show hide popupBoard closeBoard popupKeyboard closeKeyboard value insertValue addEventListener setPlaceholder
UIInputBox 插件是一个聊天输入框插件,开发者可自定义该输入框的功能。通过 open 接口可在当前 window 底部打开一个输入框,该输入框的生命属于当前 window 所有。当输入框获取焦点后,会自动弹动到软键盘之上。开发者可通过监听输入框距离底部弹动的高度,来改变聊天对话界面的高度。
本插件的主要功能有:
1,自定义表情集:open 接口的 emotionPath 参数
2,自定义输入框最大自适应高度:open 接口的 maxRows 参数
3,输入框占位提示文字:open 接口的 placeholder 参数
4,手动弹出、关闭软键盘功能
5,输入框插入、获取当前文本
打开聊天输入框
open({parmas}, callback(ret))
placeholder:
autoFocus:
maxRows:
emotionPath:
.json
配置文件)的路径(本地路径,fs://、widget://)。**.json
文件内的 name 值必须与表情文件夹内表情图片名对应。**另附:表情文件夹资源示例.json
配置文件格式如下:[
{'name': 'Expression_1', 'text': '[微笑]'},
{'name': 'Expression_2', 'text': '[撇嘴]'}
]
.json
配置文件所在目录:inputBoxSend:
{
normalBg: '#4cc518', //(可选项)字符串类型;发送按钮背景颜色,支持 rgb、rgba、#、img;默认:#4cc518
titleColor: '#ffffff', //(可选项)字符串类型;发送按钮标题颜色;默认:#ffffff
activeBg: '#46a91e', //(可选项)字符串类型;发送按钮点击背景颜色,支持 rgb、rgba、#、img;默认:无
titleSize: 13, //(可选项)数字类型;发送按钮标题字体大小;默认:13
title:'发送', //(可选项) 字符串类型;发送按钮的title
sendW:50 , //(可选项)数字类型;发送按钮宽;默认:50, android固定为:40
sendH:30 , //(可选项)数字类型;发送按钮高;默认:30, android固定为:32
sendCorner:5 //(可选项)数字类型;发送按钮圆角度;默认:5
}
isHiddenSend:
styles:
{
topDivider:{ //(可选项)顶部分割线配置
width:3, //(可选项)顶部分割线的粗细,默认:0
color:'#000' //(可选项)顶部分割线的颜色;默认:#000 ;支持图片设置(fs:// & widget://)
},
inputBar:{ //(可选项)JSON对象;输入区域(输入框及两侧按钮)整体样式
borderColor: '#d9d9d9', //(可选项)字符串类型;输入框区域上下边框的颜色,支持 rgb,rgba,#;默认:'#d9d9d9'
bgColor: '#f2f2f2', //(可选项)字符串类型;输入框区域的整体背景色,支持 rgb,rgba,#;默认:'#f2f2f2'
textColor:'#000', //(可选项)字符串类型;输入文字的颜色;默认:#000
textSize:16, //(可选项)数字类型;默认:16
textMarginLeft:5 //(可选项)数字类型;光标距离左边框的距离,默认:5
},
inputBox: { //(可选项)JSON对象;输入框样式
borderColor: '#B3B3B3', //(可选项)字符串类型;输入框的边框颜色,支持 rgb,rgba,#;默认:'#B3B3B3'
bgColor: '#f2f2f2', //(可选项)字符串类型;输入框的背景色,支持 rgb,rgba,#;默认:'#f2f2f2'
boardBgColor: '#f2f2f2', //(可选项)字符串类型;面板的背景色(表情面板,附加面板),支持 rgb,rgba,#;默认:'#f2f2f2'
topMargin:10, //(可选项)数字类型;输入框距离顶部的边距;默认:10
borderCorner:5, //(可选项)数字类型;默认:5
},
emotionBtn: { //(可选项)JSON对象;表情按钮样式;不传则不显示表情按钮
normalImg: 'widget://' //(可选项)字符串类型;表情按钮常态的背景图片(本地路径,fs://、widget://);默认:笑脸小图标,
},
keyboardBtn: { //JSON对象;键盘按钮样式
normalImg: 'widget://' //字符串类型;键盘按钮常态的背景图片(本地路径,fs://、widget://);默认:键盘小图标
},
indicator: { //(可选项)JSON对象;表情面板的小圆点指示器样式,若不传则不显示该指示器
color: '#c4c4c4', //(可选项)字符串类型;指示器颜色;支持 rgb、rgba、#;默认:'#c4c4c4'
activeColor: '#9e9e9e' //(可选项)字符串类型;当前指示器颜色;支持 rgb、rgba、#;默认:'#9e9e9e'
},
sendBtn: { //(可选项)JSON对象;表情面板发送按钮样式,本参数对 iOS 平台上的键盘内发送按钮无效**改参数对安卓无效**
bg: '#4cc518', //(可选项)字符串类型;发送按钮背景颜色,支持 rgb、rgba、#、img;默认:#4cc518
titleColor: '#ffffff', //(可选项)字符串类型;发送按钮标题颜色;默认:#ffffff
activeBg: '#46a91e', //(可选项)字符串类型;发送按钮背景颜色,支持 rgb、rgba、#、img;默认:无
titleSize: 13, //(可选项)数字类型;发送按钮标题字体大小;默认:13
sendTitle:'发送' //(可选项) 字符串类型;发送按钮的title
}
}
isShowLeftEmotionBtn:
isShowSendBtn:
isClose:
ret:
{
eventType: 'show', //字符串类型;回调的事件类型,
//取值范围:
//show(该插件打开成功)
//send(用户点击发送按钮)
msg: '' //字符串类型;当 eventType 为 send 时,此参数返回输入框的内容,否则返回 undefined
inputBarHeight:30 //数字类型;输入框及左右按钮整体区域的高度
}
var UIInputBox = api.require('UIInputBox');
UIInputBox.open({
placeholder: '',
maxRows: 4,
emotionPath: 'widget://res/img/emotion',
styles: {
inputBar: {
borderColor: '#d9d9d9',
bgColor: '#f2f2f2'
},
inputBox: {
borderColor: '#B3B3B3',
bgColor: '#FFFFFF'
},
emotionBtn: {
normalImg: 'widget://res/img/chatBox_face1.png'
},
keyboardBtn: {
normalImg: 'widget://res/img/chatBox_key1.png'
},
indicator: {
color: '#c4c4c4',
activeColor: '#9e9e9e'
},
sendBtn: {
titleColor: '#4cc518',
bg: '#999999',
activeBg: '#46a91e',
titleSize: 14
}
}
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭聊天输入框
close()
var UIInputBox = api.require('UIInputBox');
UIInputBox.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
显示聊天输入框
show()
var UIInputBox = api.require('UIInputBox');
UIInputBox.show();
iOS系统,Android系统
可提供的1.0.0及更高版本
隐藏聊天输入框
hide()
var UIInputBox = api.require('UIInputBox');
UIInputBox.hide();
iOS系统,Android系统
可提供的1.0.0及更高版本
弹出键盘
popupKeyboard()
var UIInputBox = api.require('UIInputBox');
UIInputBox.popupKeyboard();
iOS系统,Android系统
可提供的1.0.0及更高版本
收起键盘
closeKeyboard()
var UIInputBox = api.require('UIInputBox');
UIInputBox.closeKeyboard();
iOS系统,Android系统
可提供的1.0.0及更高版本
弹出表情
popupBoard()
var UIInputBox = api.require('UIInputBox');
UIInputBox.popupBoard();
iOS系统,Android系统
可提供的1.0.0及更高版本
收起表情
closeBoard()
var UIInputBox = api.require('UIInputBox');
UIInputBox.closeBoard();
iOS系统,Android系统
可提供的1.0.0及更高版本
获取或设置聊天输入框的内容
value({params}, callback(ret))
msg:
ret:
{
status: true, //布尔型;true||false
msg: '' //字符串类型;输入框当前内容文本
}
var UIInputBox = api.require('UIInputBox');
//设置输入框的值
UIInputBox.value({
msg: '设置输入框的值'
});
//获取输入框的值
UIInputBox.value(function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
向聊天输入框的指定位置插入内容
insertValue({params})
index:
msg:
var UIInputBox = api.require('UIInputBox');
UIInputBox.insertValue({
index: 10,
msg: '这里是插入的字符串'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
事件监听 (输入区域,输入框及两侧按钮区域)
addEventListener(callback(ret))
name:
ret:
{
inputBarHeight: 60, //数字类型;输入框及左右按钮整体区域的高度,仅当监听 inputBar 的 move 和 change 事件时本参数有值
panelHeight: 300 , //数字类型;输入框下边缘距离屏幕底部的高度,仅当监听 inputBar 的 move 和 change 事件时本参数有值
value: '' //字符串类型;输入框当前内容,仅当 target 为 inputBar name 为 valueChanged 时有值
}
var UIInputBox = api.require('UIInputBox');
UIInputBox.addEventListener({
name: 'showEmotion'
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
重设聊天输入框的占位提示文本
setPlaceholder({params})
placeholder:
var UIInputBox = api.require('UIInputBox');
UIInputBox.setPlaceholder({
placeholder: '修改了占位提示内容'
});
iOS系统,Android系统
可提供的1.0.0及更高版本