• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] [安卓按键]一个稍微复杂点的脚本界面 [复制链接]

1#

大家好,我是3分钟学堂的郭立员,继续我们按键精灵安卓版文章教程的讲解,这次带来的是一个群友的问题解答。


他在网上看到别人的脚本界面觉得不错,想要模仿一下,但是发现一些功能不会写,就来问我怎么做,能不能写一篇文章教程。


我说可以,他给我发了一段视频,看了一下不难,先给大家看看效果啊,这里我直接发我做好的动图展示:





在公众号里面写脚本界面的文章有挺多,涉及的命令差不多都讲过了,这期为啥还写呢,主要是觉得这个案例的逻辑还不错。


在看的讲解之前,你不妨想一想这个界面逻辑如果是你的话会不会写。


脚本讲解

(一)界面分析:


界面上的元素主要有3个按钮,1个下拉框,1个输入框,若干文字框。


(二)功能分析:


① 脚本主要完成的功能是把下拉框的选项内容填写到输入框里面。


②可以自己控制填写的顺序,已经清除,后退的功能。


(三)逻辑分析:


①地图添加按钮的逻辑:


先获取下拉框的选项,然后获取输入框当前的内容,把下拉框选项追加到输入框里面。


有一些细节需要注意:首次写入时,输入框是空白的,所以追加时不用逗号分隔,所以要区分是不是首次。


添加新的选项前先判断一下是不是已经添加了,如果添加了,就不用重复添加了。


②地图退回按钮的逻辑:


获取输入框的内容,用逗号分割,得到数组之后去掉最大数组下标的内容,然后把剩下的内容写入的输入框中。


这里也有要注意的地方:如果数组已经是空了,加个提示。


③清空按钮的逻辑:


直接把控制赋值给输入框,这个比较简单。


④计数的文字框的作用,这个逻辑其实很简单,就是获取输入框内容的数组的长度。


脚本源码截图

界面代码

  1. 界面1:
  2. {
  3. 标签页1:
  4. {
  5. 水平布局:
  6. {
  7. 文字框:
  8. {
  9. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  10. 名称:"文字框1",
  11. 显示内容:"地图选择: ",
  12. 文字大小:0,
  13. 高度:0,
  14. 宽度:0
  15. },
  16. 下拉框:
  17. {
  18. 注释:"初始选项是可选属性,默认值为0。模版中设置了三个选项,您可以根据需要增加或减少,注意各选项之间用逗号分隔。",
  19. 名称:"下拉框1",
  20. 选择响应:"函数名1",
  21. 选项:["地图①","地图②","地图③","地图④"],
  22. 初始选项:0
  23. },

  24. },
  25. 水平布局:
  26. {
  27. 按钮:
  28. {
  29. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  30. 名称:"按钮1",
  31. 显示内容:"地图添加",
  32. 点击响应:"地图添加",
  33. 文字大小:0,
  34. 高度:0,
  35. 宽度:0
  36. },
  37. 按钮:
  38. {
  39. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  40. 名称:"按钮2",
  41. 显示内容:"地图退回",
  42. 点击响应:"地图退回",
  43. 文字大小:0,
  44. 高度:0,
  45. 宽度:0
  46. },
  47. 按钮:
  48. {
  49. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  50. 名称:"按钮3",
  51. 显示内容:"地图清空",
  52. 点击响应:"地图清空",
  53. 文字大小:0,
  54. 高度:0,
  55. 宽度:0
  56. },

  57. },
  58. 水平布局:
  59. {
  60. 文字框:
  61. {
  62. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  63. 名称:"文字框2",
  64. 显示内容:"当前地图: ",
  65. 文字大小:0,
  66. 高度:0,
  67. 宽度:0
  68. },
  69. 输入框:
  70. {
  71. 注释:"初始文本、文字大小、最大输入长度、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  72. 名称:"输入框1",
  73. 提示内容:" ",
  74. 初始文本:"",
  75. 仅输入数字:false,
  76. 密码:false,
  77. 文字大小:0,
  78. 最大输入长度:0,
  79. 高度:0,
  80. 宽度:0
  81. },
  82. 注释:"用于将多个控件放在同一行",

  83. },
  84. 水平布局:
  85. {
  86. 文字框:
  87. {
  88. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  89. 名称:"文字框3",
  90. 显示内容:"已选择地图数量:",
  91. 文字大小:0,
  92. 高度:0,
  93. 宽度:0
  94. },
  95. 文字框:
  96. {
  97. 注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
  98. 名称:"文字框4",
  99. 显示内容:"0",
  100. 文字大小:0,
  101. 高度:0,
  102. 宽度:0
  103. },
  104. 注释:"用于将多个控件放在同一行",

  105. },


  106. },

  107. }
复制代码

界面脚本

  1. Function 地图添加()
  2. Dim arr()
  3. Dim shuliangarr=uip.GetAttribute("文字框4")
  4. dim n= shuliangarr["显示内容"]
  5. Dim xlkarr=uip.GetAttribute("下拉框1")
  6. dim m= xlkarr["初始选项"]
  7. Dim srk=uip.GetAttribute("输入框1")
  8. dim ditu=srk["初始文本"]
  9. If Len(ditu) = 0 Then
  10. arr(0) = xlkarr["选项"][xlkarr["初始选项"] + 1]
  11. Else
  12. If instr(1,ditu,xlkarr["选项"][xlkarr["初始选项"] + 1])>0 Then
  13. showmessage("已经存在这个地图选项")
  14. Else
  15. ditu = ditu & "," & xlkarr["选项"][xlkarr["初始选项"] + 1]
  16. End If
  17. arr=split(ditu,",")
  18. End If
  19. UIP.SetAttribute "输入框1", {"初始文本":Join(arr, ",")}
  20. uip.SetAttribute "文字框4",{"显示内容":len(arr)}
  21. End Function

  22. Function 地图退回()
  23. Dim arr(),arrnew()
  24. Dim srk=uip.GetAttribute("输入框1")
  25. dim ditu=srk["初始文本"]
  26. If Len(ditu) = 0 Then
  27. ShowMessage ("已经清空,无法退回")
  28. Else
  29. arr = Split(ditu, ",")
  30. For i = 0 To UBOUND(arr) - 1
  31. arrnew(i)=arr(i)
  32. Next
  33. UIP.SetAttribute "输入框1", {"初始文本":Join(arrnew, ",")}
  34. uip.SetAttribute "文字框4",{"显示内容":len(arrnew)}
  35. End If
  36. End Function

  37. Function 地图清空()
  38. UIP.SetAttribute "输入框1", {"初始文本":""}
  39. uip.SetAttribute "文字框4",{"显示内容":0}
  40. End Function
复制代码

扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
发新话题 回复该主题