superKeyboard

来自于:开发者立即使用

open close getHight getWidth

概述

superKeyboard 模块提供了键盘类似布局,所有按钮都可以自己定义内容,颜色,无论是需要车牌输入法,数字输入法(数字键盘),字 母输入法,计算器等都是可以实现的,键盘里面按键内容任意自定义,superKeyBoard更加自由,更加灵活,并且由于安全需要,模块还 增加了顺序打乱的功能。

场景示例:当前需要一款车牌键盘,那么我们需要的有,26个字母键盘+省市简称键盘+数字键盘,很明显如果使用自带的原生键盘在用户 体验方面是很不友好的,如果想提升用户体验,那么就可以使用superKeyBoard,只需要定义3个函数,分别定义自己的需要的参数,在回 调函数里面判断text的值分别调用不同的函数进行键盘切换即可。

open

打开模块。

open({params} , callback(ret, err))

params

rect:

  • 类型: JSON 对象
  • 默认值:见内部字段
  • 描述:模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(必须)数字类型;模块左上角的 x 坐标,如果 x + 面板最终的宽度 > 屏幕宽度,那么 x 会被自动更改为:屏幕宽度 - 面板最终的宽度
  3. y: 0, //(必须)数字类型;模块左上角的 y 坐标,/如果 y + 面板最终的高度 > 屏幕高度,那么 y 会被自动更改为:屏幕高度 - 面板最终的高度
  4. w: 300, //(必须)数字类型;模块的宽度
  5. }

keys:

  • 类型: JSON数组
  • 默认值:无
  • 描述: (必须项)数组形式,根据传入的数组长度进行行和列的排列,具体使用见示例代码

disorder:

  • 类型: 布尔
  • 默认值:false
  • 描述: 排列顺序是否打乱,如打乱可以增加安全性

padding:

  • 类型: 数字
  • 默认值:10
  • 描述: 模块的边距,上下左右边距都是一样的

bgColor:

  • 类型: 字符串
  • 默认值:#EBEBEB
  • 描述: 模块背景颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

btnBg:

  • 类型: 字符串
  • 默认值:#FFFFFF
  • 描述: 按钮背景颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

btnRadius:

  • 类型: 数字
  • 默认值:5
  • 描述: 按钮圆角值

btnTextColor:

  • 类型: 字符串
  • 默认值:#000000
  • 描述: 按钮字体颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

btnTextSize:

  • 类型: 数字
  • 默认值:16
  • 描述: 按钮字体大小

btnBorderColor:

  • 类型: 字符串
  • 默认值:#CCCCCC
  • 描述: 按钮边框颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

btnBorderWeight:

  • 类型: 数字
  • 默认值:2
  • 描述: 按钮边框宽度

btnBgPressed:

  • 类型: 字符串
  • 默认值:#4F94CD
  • 描述: 按钮点击状态时颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

btnTextColorPressed:

  • 类型: 字符串
  • 默认值:#FFFFFF
  • 描述: 按钮点击状态时字体颜色,支持 rgb,#,如rgb(255,240,245)或者#FFF0F5

buttonSpace:

  • 类型: 数字
  • 默认值:5
  • 描述: 按钮之间左右间隔

rowSpace:

  • 类型: 数字
  • 默认值:5
  • 描述: 每行上之间上下间隔

heightRatio:

  • 类型: 双精度浮点型
  • 默认值:1.0
  • 描述: 按钮高与宽的比例,如宽为20,那么高是宽的0.8,则高为16,使用中请按照当时情况进行比例调整

fixedOn:

  • 类型: 字符串类型
  • 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 描述: 模块依附于当前 window

fixed:

  • 类型: 布尔
  • 默认值:true
  • 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. text:'w' //表示点击按钮的值
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var toNumText="";//声明全局变量,控制返回按钮开启什么键盘
  2. //小写键盘
  3. function fnLowerKeyBoard() {
  4. var demo = api.require('superKeyboard');
  5. demo.open({
  6. rect: {
  7. x: 2000,
  8. y:2000,
  9. w: api.winWidth
  10. },
  11. keys: [
  12. ["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"],
  13. ["a","s", "d", "f", "g", "h", "j", "k", "l"],
  14. ["数字","大写","z","x", "c", "v", "b", "n", "m", "←","清空"]
  15. ],
  16. disorder:false,
  17. padding:15,
  18. bgColor:"#EBEBEB",
  19. btnBg:"#FFFFFF",
  20. btnRadius:10,
  21. btnTextColor:"#000000",
  22. btnTextSize:11,
  23. btnBorderColor:"#CCCCCC",
  24. btnBorderWeight:2,
  25. btnBgPressed:"#4F94CD",
  26. btnTextColorPressed:"#FFFFFF",
  27. buttonSpace:10,
  28. rowSpace:20,
  29. heightRatio:1.3,
  30. fixedOn: api.frameName,
  31. fixed: true
  32. }, function (ret, err) {
  33. if (err){
  34. alert(JSON.stringify(err));
  35. }
  36. else {
  37. if(ret.text){
  38. if(ret.text=="大写"){
  39. fnUpperKeyBoard();
  40. }
  41. else if(ret.text=="数字"){
  42. toNumText="小写";
  43. fnNumberKeyboard();
  44. }
  45. else{
  46. alert(JSON.stringify(ret));
  47. }
  48. }
  49. }
  50. });
  51. }
  52. //大写键盘
  53. function fnUpperKeyBoard(){
  54. var demo = api.require('superKeyboard');
  55. demo.open({
  56. rect: {
  57. x: 2000,
  58. y:2000,
  59. w: api.winWidth
  60. },
  61. keys: [
  62. ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
  63. ["A","S", "D", "F", "G", "H", "J", "K", "L"],
  64. ["数字","小写","Z","X", "C", "V", "B", "N", "M", "←","清空"]
  65. ],
  66. disorder:false,
  67. padding:15,
  68. bgColor:"#EBEBEB",
  69. btnBg:"#FFFFFF",
  70. btnRadius:10,
  71. btnTextColor:"#000000",
  72. btnTextSize:11,
  73. btnBorderColor:"#CCCCCC",
  74. btnBorderWeight:2,
  75. btnBgPressed:"#4F94CD",
  76. btnTextColorPressed:"#FFFFFF",
  77. buttonSpace:10,
  78. rowSpace:20,
  79. heightRatio:1.3,
  80. fixedOn: api.frameName,
  81. fixed: true
  82. }, function (ret, err) {
  83. if (err){
  84. alert(JSON.stringify(err));
  85. }
  86. else {
  87. if(ret.text){
  88. if(ret.text=="小写"){
  89. fnLowerKeyBoard();
  90. }
  91. else if(ret.text=="数字"){
  92. toNumText="大写";
  93. fnNumberKeyboard();
  94. }
  95. else
  96. {
  97. alert(JSON.stringify(ret));
  98. }
  99. }
  100. }
  101. });
  102. }
  103. //数字键盘
  104. function fnNumberKeyboard(){
  105. var demo = api.require('superKeyboard');
  106. demo.open({
  107. rect: {
  108. x: 2000,
  109. y:2000,
  110. w: api.winWidth
  111. },
  112. keys: [
  113. ["1","2","3","←"],
  114. ["4","5","6","空格"],
  115. ["7","8","9","清空"],
  116. ["返回","0",".","+"]
  117. ],
  118. disorder:false,
  119. padding:15,
  120. bgColor:"#EBEBEB",
  121. btnBg:"#FFFFFF",
  122. btnRadius:10,
  123. btnTextColor:"#000000",
  124. btnTextSize:14,
  125. btnBorderColor:"#CCCCCC",
  126. btnBorderWeight:2,
  127. btnBgPressed:"#4F94CD",
  128. btnTextColorPressed:"#FFFFFF",
  129. buttonSpace:10,
  130. rowSpace:20,
  131. heightRatio:0.5,
  132. fixedOn: api.frameName,
  133. fixed: true
  134. }, function (ret, err) {
  135. if (err){
  136. alert(JSON.stringify(err));
  137. }
  138. else {
  139. if(ret.text){
  140. if(ret.text=="返回"){
  141. if(toNumText=="小写"){
  142. fnLowerKeyBoard();
  143. }
  144. else if(toNumText=="大写"){
  145. fnUpperKeyBoard();
  146. }
  147. else{
  148. alert(JSON.stringify(ret));
  149. }
  150. }
  151. }
  152. }
  153. });
  154. }

可用性

Android系统

可提供的1.0.0及更高版本

close

close(callback(ret, err))

关闭键盘。

callback(ret, err)

ret:

  • 类型:JSON对象数组
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('superKeyboard');
  2. module.close(function(ret,err){
  3. if (err){
  4. alert(JSON.stringify(err));
  5. }
  6. else {
  7. alert(JSON.stringify(ret));
  8. }
  9. });

可用性

Android系统

可提供的1.0.0及更高版本

getHeight

getHeight(callback(ret, err))

获取模块高度。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. height:100 //模块实际高度
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('superKeyboard');
  2. module.getHeight(function(ret,err){
  3. if (err){
  4. alert(JSON.stringify(err));
  5. }
  6. else {
  7. alert(JSON.stringify(ret));
  8. }
  9. });

可用性

Android系统

可提供的1.0.0及更高版本

getWidth

getWidth(callback(ret, err))

获取模块宽度。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. width:100 //模块实际宽度
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('superKeyboard');
  2. module.getWidth(function(ret,err)
  3. {
  4. if (err){
  5. alert(JSON.stringify(err));
  6. }
  7. else{
  8. alert(JSON.stringify(ret));
  9. }
  10. });

可用性

Android系统

可提供的1.0.0及更高版本