superKeyboard

close getWidth

概述

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

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

open

打开模块。

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

rect:

  • 类型: JSON 对象
  • 默认值:见内部字段
  • 描述:模块的位置及尺寸
  • 内部字段:

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

可用性

Android系统

可提供的1.0.0及更高版本

close

close(callback(ret, err))

关闭键盘。

  • 类型:JSON对象数组
  • 内部字段:

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. 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:'' //错误信息描述

示例代码

Android系统