superKeyboard 插件提供了键盘类似布局,所有按钮都可以自己定义内容,颜色,无论是需要车牌输入法,数字输入法(数字键盘),字 母输入法,计算器等都是可以实现的,键盘里面按键内容任意自定义,superKeyBoard更加自由,更加灵活,并且由于安全需要,插件还 增加了顺序打乱的功能。
场景示例:当前需要一款车牌键盘,那么我们需要的有,26个字母键盘+省市简称键盘+数字键盘,很明显如果使用自带的原生键盘在用户 体验方面是很不友好的,如果想提升用户体验,那么就可以使用superKeyBoard,只需要定义3个函数,分别定义自己的需要的参数,在回 调函数里面判断text的值分别调用不同的函数进行键盘切换即可。
打开插件。
open({params} , callback(ret, err))
rect:
{
x: 0, //(必须)数字类型;插件左上角的 x 坐标,如果 x + 面板最终的宽度 > 屏幕宽度,那么 x 会被自动更改为:屏幕宽度 - 面板最终的宽度
y: 0, //(必须)数字类型;插件左上角的 y 坐标,/如果 y + 面板最终的高度 > 屏幕高度,那么 y 会被自动更改为:屏幕高度 - 面板最终的高度
w: 300, //(必须)数字类型;插件的宽度
}
keys:
disorder:
padding:
bgColor:
btnBg:
btnRadius:
btnTextColor:
btnTextSize:
btnBorderColor:
btnBorderWeight:
btnBgPressed:
btnTextColorPressed:
buttonSpace:
rowSpace:
heightRatio:
fixedOn:
fixed:
ret:
{
result:'ok' //描述执行结果,ok表示执行成功
text:'w' //表示点击按钮的值
}
err:
{
msg:'' //错误信息描述
}
var toNumText="";//声明全局变量,控制返回按钮开启什么键盘
//小写键盘
function fnLowerKeyBoard() {
var demo = api.require('superKeyboard');
demo.open({
rect: {
x: 2000,
y:2000,
w: api.winWidth
},
keys: [
["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"],
["a","s", "d", "f", "g", "h", "j", "k", "l"],
["数字","大写","z","x", "c", "v", "b", "n", "m", "←","清空"]
],
disorder:false,
padding:15,
bgColor:"#EBEBEB",
btnBg:"#FFFFFF",
btnRadius:10,
btnTextColor:"#000000",
btnTextSize:11,
btnBorderColor:"#CCCCCC",
btnBorderWeight:2,
btnBgPressed:"#4F94CD",
btnTextColorPressed:"#FFFFFF",
buttonSpace:10,
rowSpace:20,
heightRatio:1.3,
fixedOn: api.frameName,
fixed: true
}, function (ret, err) {
if (err){
alert(JSON.stringify(err));
}
else {
if(ret.text){
if(ret.text=="大写"){
fnUpperKeyBoard();
}
else if(ret.text=="数字"){
toNumText="小写";
fnNumberKeyboard();
}
else{
alert(JSON.stringify(ret));
}
}
}
});
}
//大写键盘
function fnUpperKeyBoard(){
var demo = api.require('superKeyboard');
demo.open({
rect: {
x: 2000,
y:2000,
w: api.winWidth
},
keys: [
["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
["A","S", "D", "F", "G", "H", "J", "K", "L"],
["数字","小写","Z","X", "C", "V", "B", "N", "M", "←","清空"]
],
disorder:false,
padding:15,
bgColor:"#EBEBEB",
btnBg:"#FFFFFF",
btnRadius:10,
btnTextColor:"#000000",
btnTextSize:11,
btnBorderColor:"#CCCCCC",
btnBorderWeight:2,
btnBgPressed:"#4F94CD",
btnTextColorPressed:"#FFFFFF",
buttonSpace:10,
rowSpace:20,
heightRatio:1.3,
fixedOn: api.frameName,
fixed: true
}, function (ret, err) {
if (err){
alert(JSON.stringify(err));
}
else {
if(ret.text){
if(ret.text=="小写"){
fnLowerKeyBoard();
}
else if(ret.text=="数字"){
toNumText="大写";
fnNumberKeyboard();
}
else
{
alert(JSON.stringify(ret));
}
}
}
});
}
//数字键盘
function fnNumberKeyboard(){
var demo = api.require('superKeyboard');
demo.open({
rect: {
x: 2000,
y:2000,
w: api.winWidth
},
keys: [
["1","2","3","←"],
["4","5","6","空格"],
["7","8","9","清空"],
["返回","0",".","+"]
],
disorder:false,
padding:15,
bgColor:"#EBEBEB",
btnBg:"#FFFFFF",
btnRadius:10,
btnTextColor:"#000000",
btnTextSize:14,
btnBorderColor:"#CCCCCC",
btnBorderWeight:2,
btnBgPressed:"#4F94CD",
btnTextColorPressed:"#FFFFFF",
buttonSpace:10,
rowSpace:20,
heightRatio:0.5,
fixedOn: api.frameName,
fixed: true
}, function (ret, err) {
if (err){
alert(JSON.stringify(err));
}
else {
if(ret.text){
if(ret.text=="返回"){
if(toNumText=="小写"){
fnLowerKeyBoard();
}
else if(toNumText=="大写"){
fnUpperKeyBoard();
}
else{
alert(JSON.stringify(ret));
}
}
}
}
});
}
Android系统
可提供的1.0.0及更高版本
close(callback(ret, err))
关闭键盘。
ret:
{
result:'ok' //描述执行结果,ok表示执行成功
}
err:
{
msg:'' //错误信息描述
}
var module = api.require('superKeyboard');
module.close(function(ret,err){
if (err){
alert(JSON.stringify(err));
}
else {
alert(JSON.stringify(ret));
}
});
Android系统
可提供的1.0.0及更高版本
getHeight(callback(ret, err))
获取插件高度。
ret:
{
result:'ok' //描述执行结果,ok表示执行成功
height:100 //插件实际高度
}
err:
{
msg:'' //错误信息描述
}
var module = api.require('superKeyboard');
module.getHeight(function(ret,err){
if (err){
alert(JSON.stringify(err));
}
else {
alert(JSON.stringify(ret));
}
});
Android系统
可提供的1.0.0及更高版本
getWidth(callback(ret, err))
获取插件宽度。
ret:
{
result:'ok' //描述执行结果,ok表示执行成功
width:100 //插件实际宽度
}
err:
{
msg:'' //错误信息描述
}
var module = api.require('superKeyboard');
module.getWidth(function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
Android系统
可提供的1.0.0及更高版本