群友问到这么一个问题,就是密文显示,本身按键界面是没有这个功能,这里通过写一个响应函数来实现。
先来看一下效果:
由于输入框没有响应事件,所以没法直接在输入的过程中变成星号,因此我这里借助了一个多选框来实现。
当多选框点击选中的时候,密码会被隐藏,以星号显示,取消多选框的勾选时,又会恢复成密码明文。
一、说一下它的原理:
我们在使用星号显示的时候,其实是把输入框原本内容存入到一个文本当中。这样就不会因为输入框内容修改成星号,而导致内容丢失了。
二、具体的操作步骤:
界面中有效的元素只有两个输入框和一个多选框,这里就不说它了。
我们直接介绍多选框点击的响应函数:
1、获取输入框1、输入框2的内容
Dim m=uip.GetAttribute("输入框1")
Dim n=uip.GetAttribute("输入框2")
2、获取多选框的选中状态
Dim x=uip.GetAttribute("多选框1")
3、对于多选框的选中状态进行判断,2种情况
(1)选中的情况,把输入框2(也就是密码输入框)的内容读取出来,并存入到指定的文本当中,这里我是以输入框1的内容作为文本的名称,用固定的名称也可以,在存储之后,就可以给输入框写入几个星号了。
(2)未选中的情况,读取上一步中存取输入框2的文本,然后把内容写入到输入框2中,替换掉星号。
If x["选中"] Then
If len(m["初始文本"]) = 0 Then
ShowMessage "先输入账号"
UIP.SetAttribute ("多选框1",{"选中":false})
Else
file.write ("/sdcard/pictures/" & m["初始文本"] & ".txt",n["初始文本"])
uip.SetAttribute ("输入框2",{"初始文本":"********"})
End If
Else
Dim k=file.read ("/sdcard/pictures/" & m["初始文本"] & ".txt")
uip.SetAttribute ("输入框2",{"初始文本":k})
End If
最终的代码:
三、关于脚本调用输入框:
当我们脚本要调用输入框的时候,先把输入框的内容读取出来,然后判断输入框是星号还是密码,如果是星号就读取存入密码的文本,如果不是星号,就可以直接读取输入框的内容使用。