按键精灵安卓版-做一个可以中英切换的界面

早上有群友问怎么实现一键切换中英文的界面,打算开拓海外市场。

对于这种中英切换的界面,其实就是修改静态UI控件的属性值,相对来说还是比较简单,不过当界面元素特别多的时候,还是需要仔细一些,别出现书写错误。

下面我们先来看看效果:

【按键精灵安卓版】做一个可以中英切换的界面

因为是演示,所以这里我做的是一个最简单的界面,除了用来切换的两个多选框以外,就只有一个文字框、输入框和多选框。当然这样也足够了,我们平时做的界面基本上就是这几类界面元素。

接下来我们讲一下它的原理:

(1)界面上的文字,我们准备两套,一套中文的,一套英文的,也可以先把中文界面搭建好,再按照中文内容逐个翻译过来。

(2)所有相同内容用同一个变量存储,比如上面例子中的文字框

中文:dim 文字框1=”激活码”
英文:dim 文字框1=”password”

所有界面元素都按照这种形式写好两套。

(3)用来切换中英文的两个多选框,要设置成互斥的,也就是选中a,就取消选中b,也就是我们常见的单选形式。

(4)设置静态UI控件的属性值

这个用到就是UIP.SetAttribute命令,我们修改的ui属性主要有这么几个:

①文字框的“显示内容”属性
②多选框的“提示内容”和“选中”属性
③下拉框的“选项”属性

我们看一下代码:

【按键精灵安卓版】做一个可以中英切换的界面

这个简单界面的搭建我就不发了,名字都是默认名称按照顺序写下来的。

【按键精灵安卓版】做一个可以中英切换的界面

代码这块一共用了两个函数,分别是中文多选框和英文多选框的响应函数。

先是把所有要修改的内容定义变量,因为是在不同函数中,属于局部变量,所以基本就是同名定义方便调用。

然后加一个中英文多选框变单选框的命令,这个在我的基础课已经介绍过了。

UIP.SetAttribute(“多选框1”, {“选中”:true})
uip.SetAttribute(“多选框2”,{“选中”:false})

最后,把每一个文字框、多选框中需要修改的内容,都用变量表示,由于两个函数对应的变量是不一样的,所以就会有中文和英文的切换。

基础部分就这些。

下面是扩展内容,就是当界面元素有很多的时候怎么简化呢?

①所有界面元素命名按照属性名称+序号,比如多选框1,多选框2……

②合并同类型元素的变量,比如文字框1,文字框2,文字框3……

我们可以写成:dim 文字框=array(“内容1″,”内容2″,”内容3″)

③用循环来修改界面元素属性。

基础写法:

Function 函数名1()
Dim 文字框1=”内容1″
Dim 文字框2=”内容2″
Dim 文字框3=”内容3″
Dim 文字框4=”内容4”
uip.SetAttribute(“文字框1”,{“显示内容”:文字框1})
uip.SetAttribute(“文字框2”,{“显示内容”:文字框2})
uip.SetAttribute(“文字框3”,{“显示内容”:文字框3})
uip.SetAttribute(“文字框4”,{“显示内容”:文字框4})
End Function

简化写法:

Function 函数名1()
Dim 文字框=array(“内容1″,”内容2″,”内容3″,”内容4”)
For i = 1 To 4
uip.SetAttribute(“文字框”&i,{“显示内容”:文字框[i]})
Next
End Function

注意:多选框比较特殊,尽量把用了切换中英文的多选框名称修改一下,不要占用多选框1和多选框2这两个命令,目的是序号和循环的计次变量i对应上。

④同名用法,就是变量同名,写的时候因为同名,除了用来修改名称的数组内容不一样,其他所有内容可以直接复制,非常方便。

我们在写脚本的时候,先把基础写法写好,然后在考虑简化代码。

原文始发于微信公众号(3分钟学堂):

本站内容来源于网络,转载请注明出处和链接!
本文链接地址: https://pumpkinit.com/1119.html
南瓜  [https://pumpkinit.com]  感谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注