[安卓/ios按键精灵开发工具]一个稍微复杂点的脚本界面

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


脚本讲解

(一)界面分析:

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

(二)功能分析:

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

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

(三)逻辑分析:

①地图添加按钮的逻辑:

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

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

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

②地图退回按钮的逻辑:

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

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

③清空按钮的逻辑:

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

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

界面代码

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

},
水平布局:
{
按钮:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"按钮1",
显示内容:"地图添加",
点击响应:"地图添加",
文字大小:0,
高度:0,
宽度:0
},
按钮:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"按钮2",
显示内容:"地图退回",
点击响应:"地图退回",
文字大小:0,
高度:0,
宽度:0
},
按钮:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"按钮3",
显示内容:"地图清空",
点击响应:"地图清空",
文字大小:0,
高度:0,
宽度:0
},

},
水平布局:
{
文字框:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"文字框2",
显示内容:"当前地图: ",
文字大小:0,
高度:0,
宽度:0
},
输入框:
{
注释:"初始文本、文字大小、最大输入长度、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"输入框1",
提示内容:" ",
初始文本:"",
仅输入数字:false,
密码:false,
文字大小:0,
最大输入长度:0,
高度:0,
宽度:0
},
注释:"用于将多个控件放在同一行",

},
水平布局:
{
文字框:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"文字框3",
显示内容:"已选择地图数量:",
文字大小:0,
高度:0,
宽度:0
},
文字框:
{
注释:"文字大小、高度、宽度是可选属性,如需使用默认值,可保持值为0或直接删除此属性",
名称:"文字框4",
显示内容:"0",
文字大小:0,
高度:0,
宽度:0
},
注释:"用于将多个控件放在同一行",

},


},

}

界面脚本

Function 地图添加()
Dim arr()
Dim shuliangarr=uip.GetAttribute("文字框4")
dim n= shuliangarr["显示内容"]
Dim xlkarr=uip.GetAttribute("下拉框1")
dim m= xlkarr["初始选项"]
Dim srk=uip.GetAttribute("输入框1")
dim ditu=srk["初始文本"]
If Len(ditu) = 0 Then
arr(0) = xlkarr["选项"][xlkarr["初始选项"] + 1]
Else
If instr(1,ditu,xlkarr["选项"][xlkarr["初始选项"] + 1])>0 Then
showmessage("已经存在这个地图选项")
Else
ditu = ditu & "," & xlkarr["选项"][xlkarr["初始选项"] + 1]
End If
arr=split(ditu,",")
End If
UIP.SetAttribute "输入框1", {"初始文本":Join(arr, ",")}
uip.SetAttribute "文字框4",{"显示内容":len(arr)}
End Function

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值