4.1版本
UiSelector为条件器,你在获得一个UiObject/UiCollection/UiScrollable对象时都要传入这样一个UiSelector对象进去。UiSelector对象里的方法就是添加各种条件。
text(String text)/textStartsWith(String text)/textContains(String text)
设置Text等于text字符串/以text字符串开始/包含text字符串
description(String desc)/descriptionStartsWith(String desc)/descriptionContains(String desc)
设置Content-desc的值为desc/以desc开始/包含desc
selected(boolean val)/scrollable(boolean val)/checked(boolean val)/clickable(boolean val)/enabled(boolean val)/focusable(boolean val)/focused(boolean val)
设置selected/scrollable/checked/clickable/enabled/focusable/focusable/focused属性
index(int index)/instance(int instance)/packageName(String name)/className(String className)
设置index/instance/packageName/className属性值
buildSelector(int selectorId,Object selectorValue)
返回的还是UiSelector对象,传入的参数都会放在UiSelector中的变量mSelectorAttributes中,该变量为一个SparseArray数组中。
childSelector(UiSelector selector)
设置SELECTOR_CHILD的值
patternSelector(UiSelector selector)
设置SELECTOR_PATTERN的值
containerSelector(UiSelector selector)
设置SELECTOR_CONTAINER的值
fromParent(UiSelector selector)
设置SELECTOR_PARENT的值
cloneSelector()
复制当前UiSelector,产生一个新的UiSelector。
patternBuilder(UiSelector selector)/patternBuilder(UiSelector contain,UiSelector pattern)
暂时未知(用2个已知的匹配器构建出复杂的匹配器,得到的新匹配器要同时符合传进来的2个匹配器?)
getChildSelector()
在hashMap得到以SELECTOR_CHILD为key值的Selector对象
getPatternSelector()
在hashMap得到以SELECTOR_PATTERN为key值的Selector对象
getContainSelector()
在hashMap得到以SELECTOR_CONTAINER为key值的Selector对象
getParentSelector()
在hashMap得到以SELECTOR_PARENT为key值的Selector对象
getInstance()
得到key=9个的值,整数值。找不到的话返回0
getString(int criterion)/getBoolean(int criterion)/getInt(int criterion)
得到key=criterion的值,找不到返回null/false/0
isMatchFor(AccessibilityNodeInfo info,int index)
判断info是否符合该匹配器所匹配的控件,index匹配SELECTOR_INDEX的值
matchOrUpdateInstance()
SELECTOR_INSTANCE和SELECTOR_COUNT是否相等,如果不相等就更新SELECTOR_COUNT的值
isLeaf()
方法名为叶子,看源码意思就是是否存在子节点和父节点。
hasChildSelector()/hasPatternSelector()/hasParentSelector()/hasContainerSelector()
存放属性的SparseArray对象是否包含SELECTOR_CHILD/SELECTOR_PATTERN/SELECTOR_PARENT/SELECTOR_CONTAINER对象
getLastSubSelector()
获得SELECTOR_CHILD对象,如果没有则获得SELECTOR_PARENT对象。深度遍历直到不存在SELECTOR_CHILD或SELECTOR_PARENT.返回该对象