UiObject 表示一个控件,可以通过这个对象获取到控件的属性,也可以对控件进行点击、长按等操作。
获取一个 UiObject 通常通过选择器的findOne()
, findOnce()
等函数,也可以通过 UiCollection 来获取,或者通过UiObject.child()
, UiObject.parent()
等函数来获取一个控件的子控件或父控件。
点击该控件,并返回是否点击成功。
如果该函数返回 false,可能是该控件不可点击(clickable 为 false),当前界面无法响应该点击等。
长按该控件,并返回是否点击成功。
如果该函数返回 false,可能是该控件不可点击(longClickable 为 false),当前界面无法响应该点击等。
text
{string} 文本设置输入框控件的文本内容,并返回是否设置成功。
该函数只对可编辑的输入框(editable 为 true)有效。
对输入框文本的选中内容进行复制,并返回是否操作成功。
该函数只能用于输入框控件,并且当前输入框控件有选中的文本。可以通过setSelection()
函数来设置输入框选中的内容。
对输入框文本的选中内容进行剪切,并返回是否操作成功。
该函数只能用于输入框控件,并且当前输入框控件有选中的文本。可以通过setSelection()
函数来设置输入框选中的内容。
对输入框控件进行粘贴操作,把剪贴板内容粘贴到输入框中,并返回是否操作成功。
start
{number} 选中内容起始位置end
{number} 选中内容结束位置(不包括)对输入框控件设置选中的文字内容,并返回是否操作成功。
索引是从 0 开始计算的;并且,选中内容不包含 end 位置的字符。例如,如果一个输入框内容为"123456789",要选中"4567"的文字的代码为et.setSelection(3, 7)
。
该函数也可以用来设置光标位置,只要参数的 end 等于 start,即可把输入框光标设置在 start 的位置。例如et.setSelection(1, 1)
会把光标设置在第一个字符的后面。
对控件执行向前滑动的操作,并返回是否操作成功。
向前滑动包括了向右和向下滑动。如果一个控件既可以向右滑动和向下滑动,那么执行scrollForward()
的行为是未知的(这是因为 Android 文档没有指出这一点,同时也没有充分的测试可供参考)。
对控件执行向后滑动的操作,并返回是否操作成功。
向后滑动包括了向右和向下滑动。如果一个控件既可以向右滑动和向下滑动,那么执行scrollForward()
的行为是未知的(这是因为 Android 文档没有指出这一点,同时也没有充分的测试可供参考)。
对控件执行"选中"操作,并返回是否操作成功。"选中"和isSelected()
的属性相关,但该操作十分少用。
对控件执行折叠操作,并返回是否操作成功。
对控件执行操作,并返回是否操作成功。
对集合中所有控件执行显示操作,并返回是否全部操作成功。
对集合中所有控件执行向上滑的操作,并返回是否全部操作成功。
对集合中所有控件执行向下滑的操作,并返回是否全部操作成功。
对集合中所有控件执行向左滑的操作,并返回是否全部操作成功。
返回该控件的所有子控件组成的控件集合。可以用于遍历一个控件的子控件,例如:
返回子控件数目。
返回第 i+1 个子控件。如果 i>=控件数目或者小于 0,则抛出异常。
需要注意的是,由于布局捕捉的问题,该函数可能返回null
,也就是可能获取不到某个子控件。
遍历子控件的示例:
返回该控件的父控件。如果该控件没有父控件,返回null
。
返回控件在屏幕上的范围,其值是一个Rect对象。
示例:
如果一个控件本身无法通过click()
点击,那么我们可以利用bounds()
函数获取其坐标,再利用坐标点击。例如:
返回控件在父控件中的范围,其值是一个Rect对象。
返回控件在父控件中的绘制次序。该函数在安卓 7.0 及以上才有效,7.0 以下版本调用会返回 0。
获取控件的 id,如果一个控件没有 id,则返回null
。
获取控件的文本,如果控件没有文本,返回""
。
str
{string} 文本根据文本 text 在子控件中递归地寻找并返回文本或描述(desc)包含这段文本 str 的控件,返回它们组成的集合。
该函数会在当前控件的子控件,孙控件,曾孙控件...中搜索 text 或 desc 包含 str 的控件,并返回它们组合的集合。
selector
UiSelector根据选择器 selector 在该控件的子控件、孙控件...中搜索符合该选择器条件的控件,并返回找到的第一个控件;如果没有找到符合条件的控件则返回null
。
例如,对于酷安动态列表,我们可以遍历他的子控件(每个动态列表项),并在每个子控件中依次寻找点赞数量和图标,对于点赞数量小于 10 的点赞:
selector
UiSelector根据选择器 selector 在该控件的子控件、孙控件...中搜索符合该选择器条件的控件,并返回它们组合的集合。