Time will tell.
在前面的章节里,分享了通过获取控件坐标点来获取点击事件所需要的点击位置,那么还有其他获取控件点击事件所需要点击位置的方法吗?当然有。
在不同大小屏幕的手机上获取控件的坐标点,不是一样的。因此在不同的机型上需要重新获取坐标点。如果操作控件特别多,那么获取控件的坐标点就会特别繁琐。因此可以通过获取控件 ID 来避免获取控件坐标点的这种弊端。
控件 ID 的获取主要通过HierarchyViewer,下面从打开和使用两方面进行讲解。
1、HierarchyViewer 打开方式
HierarchyViewer的打开方式有两种:
一种是eclipse中打开HierarchyView视图;
第二种是命令行中执行sdk/tools/hierarchyviewer.bat。
HierarchyViewer默认只能在非加密设备使用,例如工程机,工程平板或者模拟器。如果要在手机上使用HierarchyViewer,你需要在你的应用中添加一个开源库View Server。链接地址:https://github.com/romainguy/ViewServer ,里面有讲解如何启动真机View Server。
方式一:
连接你的真机设备或打开模拟器,在 eclipse 中, 依次选择 Window - Open Perspective - Other,在 Other 中,选择HierarchyView视图,即可打开。
方式二:
连接您的真机设备或打开模拟器,运行 cmd 窗口,进入到 sdk/tools 目录下,输入命令hierarchyviewer.bat,运行hierarchyviewer 。
或直接在 sdk/tools 目录下,找到hierarchyviewer.bat,双击运行。
未开启夜神模拟器的HierarchyViewer:
开启夜神模拟器后的HierarchyViewer:
2、HierarchyViewer 获取控件 ID
HierarchyViewer启动后,首先会看到的第一个窗口显示了设备和模拟器的列表。点击左边的箭头,就会展开当前设备或模拟器的Activity对象列表。列表中显示了设备或模拟器上, UI 当前可视的所有Activity对象。
这些对象按照它们的 Android 组件名称列出来。列表中的内容包含应用的Activity对象和系统的Activity对象。
当模拟器Activity画面变更后,点击refresh可以加载新的页面布局信息。
从列表中选择你的 activity 名称,双击,或点击菜单栏的 Load View Hierarchy按钮ÿ