函数:widget.find 根据属性组合查找控件

函数功能: 根据属性组合查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法

wid,tab = widget.find(tb)

参数 类型 必填 说明
tb.id string 控件 ID,可以使用 IDE 的控件节点进行获取
tb.text string 文本,可以使用 IDE 的控件节点进行获取
tb.type string 类型,可以使用 IDE 的控件节点进行获取
tb.desc string 描述,可以使用 IDE 的控件节点进行获取
tb.path string 路径,可以使用 IDE 的控件节点进行获取
tb.rule number 默认为 0 - 完全匹配,1 - 部分匹配,2 - 开头匹配,
3 - 结尾匹配,仅支持 text、type、desc 参数
tb.long-clickable string 是否可以长按,false - 不可以长按,ture - 可以长按,
仅支持 v1.0.1 及其以上版本
tb.clickable string 是否可以点击,fasle - 不可点击,true - 可以点击,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.scrollable string 是否可以滚动,false - 不可以滚动,true - 可以滚动,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.editable string 是否可以编辑,false - 不可以编辑,ture - 可以编辑,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.checkable string 是否可以选中,false - 不可以选中,true - 可以选中,
引擎版本仅支持 Android v3.2.1 及其以上版本
tb.which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空
tab table 返回 id、text、type、desc 等包含 tb 的所有信息,
引擎版本仅支持 Android v3.2.2 及其以上版本

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/tv_user_name",["text"]="登录",["type"]="TextView",["path"]="/FrameLayout/LinearLayout/FrameLayout/LinearLayout/FrameLayout/LinearLayout/FrameLayout/LinearLayout/RelativeLayout/RelativeLayout/LinearLayout/TextView",["clickable"]="true",["longclickable"]="false",["scrollable"]="false",["editable"]="false",["checkable"]="false",["rule"]=1,["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.desc 根据描述属性查找控件

函数功能: 根据描述属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法 1

wid= widget.desc(desc,rule);

参数 类型 必填 说明
desc string 要查找的描述信息,可以使用 IDE 的控制节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 完全匹配,
3 - 开头匹配,4 - 结尾匹配

函数方法 2

wid= widget.desc(desc,{rule,which});

参数 类型 必填 说明
desc string 要查找的描述信息,可以使用 IDE 的控制节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 完全匹配,
3 - 开头匹配,4 - 结尾匹配
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
desc = "触动精灵"
rule = 0
wid = widget.desc(desc,rule)
--wid = widget.desc(desc,{["rule"]="登录",["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.id 根据属性查找控件

函数功能: 根据属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法

wid = widget.id(id)

参数 类型 必填 说明
id string 要查找的控件 ID,,可以使用 IDE 的控制节点进行获取

函数方法

wid = widget.id(id,{which})

参数 类型 必填 说明
id string 要查找的控件 ID,,可以使用 IDE 的控制节点进行获取
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
id = "com.play4u.luabox:id/iv_script_new"
wid = widget.id(id)
--wid = widget.id(id,{["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.text 根据文本属性查找控件

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数方法 1

wid = widget.text(text,rule)

参数 类型 必填 说明
text string 文本属性,可以使用 IDE 的控件节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 开头匹配,3 - 结尾匹配

函数方法 2

wid = widget.text(text,{rule,which})

参数 类型 必填 说明
text string 文本属性,可以使用 IDE 的控件节点进行获取
rule number 不写默认为 0 - 完全匹配 ,1 - 部分匹配,2 - 开头匹配,3 - 结尾匹配
which number 不写默认为 1,指定第几个控件,
引擎版本仅支持 Android v3.2.2 及其以上版本
返回值 类型 说明
wid userdata/nil 查找成功则返回控件对象,失败返回空

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
text="脚本"
wid = widget.text(text)
--wid = widget.text(text,{["rule"]=0,["which"]=1})
if wid ~= nil then
    mSleep(1000)
    toast("控件已找到")
    mSleep(1000)
    --点击控件
    widget.click(wid)
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.region 获取控件的区域属性

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 获取控件区域坐标范围

函数方法

x1,y1,x2,y2 = widget.region(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
x1 string 区域左上角横坐标,找不到返回 nil
y1 string 区域左上角纵坐标,找不到返回 nil
x2 string 区域右下角横坐标,找不到返回 nil
y2 string 区域有下级角纵坐标,找不到返回 nil

函数用例

--在脚本页面,找左上角的脚本文字
--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
x1,y1,x2,y2 = widget.region(wid)
if x1 ~= nil then
    event.tap(x1,y1);
else
    mSleep(1000)
    toast("区域获取为空",5)
    mSleep(5000)
end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.longclickable 判断控件是否可以长按

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件获取是否可以长按

函数方法

flag = widget.longclickable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以长按,false -不可以长按

函数用例

--在脚本页面,右上角的创建脚本按钮
--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.longclickable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以长按",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不支持长按",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.checkable 判断控件是否可勾选

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以勾选

函数方法

flag = widget.checkable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以勾选,false - 不可以勾选

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/cb_select"})
if wid ~= nil then
    flag = widget.checkable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以勾选",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不支持勾选",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.scrollable 判断控件是否可滚动

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以滚动

函数方法

flag = widget.scrollable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以滚动,false - 不可以滚动

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/item_rl_top"})
if wid ~= nil then
    flag = widget.scrollable(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以滚动",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件不可以滚动",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.editable 获取控件是否可以输入

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以输入

函数方法

flag = widget.editable(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可以输入文字,false - 不支持输入文字

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    widget.click(wid)
    mSleep(3000)
    wid1 = widget.find({["id"]="com.play4u.luabox:id/et_content"})
    --判断新建脚本页面是否打开
    if wid1 ~= nil then
        --判断是否支持输入文字
        flag = widget.editable(wid1)
        if flag then
            mSleep(1000)
            toast("此控件支持输入",5)
            mSleep(5000)
            --输入文字
            widget.setText(wid,"输入")
        else
            mSleep(1000)
            toast("此控件不支持输入",5)
            mSleep(5000)
        end
    else
        mSleep(1000)
        toast("控件未找到",5)
        mSleep(5000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.visibleToUser 控件是否可见

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可见

函数方法

flag = widget.visibleToUser(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可见控件,false - 不可见控件

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.visibleToUser(wid)
    if flag then
        mSleep(1000)
        toast("可见控件",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("不可见控件",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.enabled 判断控件是否可以激活

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以激活

函数方法

flag = widget.enabled(wid)

参数 类型 必填 说明
wid usedata 控件对象
返回值 类型 说明
flag boolean true - 可以激活,false - 不可以激活

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag = widget.enabled(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以激活",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("此控件不可以激活",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.clickable 判断控件是否可点击

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以点击

函数方法

flag = widget.clickable(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以点击,false - 无法点击

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(5000)
wid = widget.find({["id"]="com.play4u.luabox:id/iv_script_new"})
if wid ~= nil then
    flag  = widget.clickable(wid)
    if flag  then
        mSleep(1000)
        toast("此控件可以点击",5)
        mSleep(5000)
        --点击控件
        widget.click(wid)
    else
        mSleep(1000)
        toast("此控件不支持点击",5)
        mSleep(5000)
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.selected 获取控件选中状态

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否可以选中

函数方法

flag = widget.selected(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 可以选中,false - 不可以选中

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u:id/item_rl_top"})
if wid ~= nil then
    flag = widget.selected(wid)
    if flag then
        mSleep(1000)
        toast("此控件可以选中",5)
        mSleep(5000)    
    else
        mSleep(1000)
        toast("此控件不可以选中",5)
        mSleep(5000)    
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)    
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

函数:widget.checked 判断控件勾选状态

引擎版本:仅 Android v3.2.1 及其以上版本支持

函数功能: 判断控件是否勾选

函数方法

flag = widget.checked(wid)

参数 类型 必填 说明
wid userdata 控件对象
返回值 类型 说明
flag boolean true - 已勾选,false - 未勾选

函数用例

--除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程
mSleep(1000)
wid = widget.find({["id"]="com.play4u.luabox:id/cb_select"})
if wid ~= nil then
    flag = widget.checked(wid)
    if flag then
        mSleep(1000)
        toast("此控件已勾选",5)
        mSleep(5000)  
    else
        mSleep(1000)
        toast("此控件未勾选",5)
        mSleep(5000)  
    end
else
    mSleep(1000)
    toast("控件未找到",5)
    mSleep(5000)  
end

注意事项

  • 使使用此函数不要使用 widget 做变量,否则会导致脚本报错。

  • 如果要调多个此控件的控件对象,需要按照顺序进行调用,同时返回多个控件对象只会保存最后一个控件对象,可以理解为控件对象保存位置是只有一个,返回多个对象会覆盖之前的控件对象。

  • 在触动精灵[我的账号] - [偏好设置]中打开无障碍权限开关才能使用此函数,如果此函数失效请重启无障碍开关再试。

Copyright 北京帮你玩科技有限公司 2021 all right reserved,powered by Gitbook该文章修订时间: 2021-03-09 12:59:56

results matching ""

    No results matching ""