adb 命令可用于检查/更改视图焦点吗?

and*_*per 2 android focus adb

adb 可用于对视图、触摸、击键等进行各种操作...

它还可以检查或改变视图的焦点吗?

例如,如果当前活动有很多视图,并且我想在 listView 上滚动,我可以通过提供其 id 来选择要聚焦的 listView,它将获得焦点,以便我可以模拟向下翻页键。或者,我可以模拟 tab 键,直到看到当前聚焦的视图是 listView。

dro*_*256 5

您可以通过转储视图层次结构并扫描输出来找出聚焦于哪个视图:

# dump and extract
adb shell uiautomator dump && adb pull /sdcard/window_dump.xml

# prettify if you want
xmllint --format window_dump.xml > window_dump.pretty.xml

# then grep
cat window_dump.pretty.xml | grep focused=\"true\"

<node index="2" text="" resource-id="YOUR_PACKAGE:id/resize_button" class="android.widget.FrameLayout" package="YOUR_PACKAGE" content-desc="Enter dominant view" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="true" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[180,60][252,132]">
Run Code Online (Sandbox Code Playgroud)