Android可视化调试工具Hierarchy Viewer的使用

Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地帮助开发者分析,设计,调试和调整UI界面,提高开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。

1 设计界面

在我们的这个例子中,有三个不同的界面,以方便我们演示使用Hierarchy Viewer。每一个界面都使用了LinearLayout和FrameLayout布局,以及文本框TextView及图片框ImageView控件。如下图,三个界面中的图案分别用了一只小猫,一个鱼缸,一条金鱼,它们各自的位置布局见下图:

1)在上面的三个图中,最左面的一个图,使用了一个垂直布局的LinearLayout,并且划分为两行,第一行是一个TextView文本框,里面的文字是“Safe”,第2行是一个FrameLayout帧布局,分别包含了一条鱼和一个鱼缸子。

2)中间的图中,使用了一个垂直布局的LinearLayout,并且划分为两行,第一行是写有“Unsafe”文本的文本框,第二行也有一个LinearLayout的水平布局,分别又包含了两个ImageView控件:一个鱼缸及鱼,还有一只小猫。

3)最右边的图中,使用了一个垂直布局的LinearLayout,并且划分为两行,第一行是写有“Yum” 文本的文本框,第2行是一个FrameLayout帧布局,分别包含了一条小猫和一条鱼。跟第一张图有点相象。

2 启动应用程序

在设计界面后,我们直接用模拟器启动我们的应用程序,要注意的是,在debug状态下,是不能启动Hierachy Viewer的。

3 启动Hierachy Viewer

目前,在eclipse的ADT Android插件中,还不能启动Hierachy Viewer,但可以从Android SDK工具包中,通过命令行的方式可以启动,具体方法为,到Android SDK下的tools目录下,在命令行方式下运行hierachyviewer即可:

在启动后,可以看到如下的界面,会显示当前正在运行中的模拟器的信息,这里我们可以鼠标点击我们已经启动了的Activity:

同时可以看到,有两个按钮,分别代表两个功能:

1) Load View Hierarchy : 可以查看界面的控件层次

2) Inspect Screenshot : 进入界面精确查看模式

4 Inspecting Screenshots(界面精确查看模式)

先点Inspecting Screenshots按钮,进入界面精确查看模式。在这个模式下,开发者可以随意点界面的任意一部分,进行放大或缩小观察以查看界面中各控件的具体位置和情况,如下图所示:

同时,还可以将截取的界面另外保存为PNG格式的图片文件。

5 Load View Hierarchy (界面控件层次查看)

接下来,我们重点学习如何在Load View Hierachy中,查看界面中各个控件的层次结构关系。

首先当点Load View Hierarchy按钮后,会进入如下图所示界面:

注意,在屏幕的左下方,有三个按钮,分别是模拟器的列表界面(主菜单)、Load View Hierachy主界面、Inspecting Screenshots主界面。

接下来,我们看上图,Load View Hierachy界面被划分为四个部分:

1)左侧(面积最大一块),该部分显示界面控件的层次结构,我们称之为主窗口,

2)右上方,是以缩略图的方式显示整个应用中的各控件的层次关系,可通过鼠标在这个显示区域进行移动,以便在主窗体显示相关的控件信息。

3)右边区域的中间部分,显示的每个控件的具体属性,是控件的属性面版。

4)右下角部分的区域,显示出用户所点的控件,在界面中的具体位置,会用红色部分标出,方便用户辨识。

时间: 2024-10-31 23:11:52

Android可视化调试工具Hierarchy Viewer的使用的相关文章

关于android工具hierarchy viewer的使用问题

问题描述 关于android工具hierarchy viewer的使用问题 最近看到一篇论文,其中提到使用hierarchy viewer来获取控件的坐标,但是据我所知hierarchy viewer想要获取控件的坐标需要首先知道控件的id.所以怎么才能实现获取所有控件坐标的功能,需要先获取所有控件的id吗?如果需要获取id的话,那怎么实现呢? 解决方案 可以反射遍历界面得到控件 解决方案二: android 如何使用hierarchy viewerHierarchy Viewer工具的使用An

android工具hierarchy viewer使用问题

问题描述 android工具hierarchy viewer使用问题 有没有大神知道怎么使用hierarchy viewer得到一个anroid应用中所有控件的id或者直接得到控件的坐标信息? 好像使用hierarchy viewer控件手动点击某个控件可以显示坐标,但是控件太多的话手动查看不靠谱啊,能不能通过程序或工具自动获得啊 解决方案 Android Hierarchy Viewer的使用android 如何使用hierarchy viewerHierarchy Viewer工具的使用 解

Android官方命令深入分析之Hierarchy Viewer

Hierarchy Viewer允许你调试和优化用户界面.它提供了一个层可视的方式来显示. 启动Hierarchy Viewer,如下: 在Android Studio中,选择Tools > Android Device Monitor. 进入SDK tools文件夹,在命令行输入 monitor

Android代码调试工具traceview 和 dmtracedump简介

Android 程序调试工具  Google为我们提供的代码调试工具的亮点:traceview和 dmtracedump .有了这两个工具,我们调试程序分析bug就非常得心应手了.traceview帮助我们分析程序性能,dmtracedump生成函数调用图.遗憾的是,google提供的dmtracedump是个失败的工具,并不能绘图,本文会详细介绍解决方案,实现绘图. 生成.trace文件  android.os.Debug类,其中重要的两个方法Debug.startMethodTracing(

自定义可视化调试工具(Microsoft.VisualStudio.DebuggerVisualizers)

前言:  最近飞机失联的太多,明天要飞北京处理服务器双机热备的问题,航空保险已买,单号是:TF10122913.  至于我的银行卡密码,在我枕头下面的字条里,要是我之后没再更新文章,请通知我家人,哈哈哈哈. 好了,Joke 被 Play 后,下面 Enter 正文.  背景: 话说:使用CYQ.Data时,会经常断点MDataTable的对象,为了查看表格的数据内容,在监视里会常ToDataTable(),然后借可DataTable的可视化方式查看表格. 近日:心中莫名就来了一句话,不转行不行?

发布:.NET开发人员必备的可视化调试工具(你值的拥有)

1:如何使用 1:点击下载:.NET可视化调试工具 (更新于2016-12-29 19:11:00) (终于彻底兼容了部分VS环境下无法使用的问题) 2:解压RAR后执行:CYQ.VisualierSetup.exe 成功后关掉提示窗口即可. PS:一次运行,支持各个VS版本,终身提高调试的效率,而且没任何副作用. 2:开源及后续升级地址: 开源地址:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/ 后续升级获取地址:https:/

Android 利用Hierarchy Viewer工具学习别人的UI设计

在Android 工具栏里面,地址:D:\Program Files\android-sdk-windows\tools  目录下打开此工具: 此工具名为:层级观察器 本篇文章将教大家如何利用层级观察器查看和优化自己的UI层次关系或者看别人应用程序UI的布局结构,双击该处理文件,显示如下 图: 左边为设备列表名称,如果你开启多个设备将会一一列出你当前运行的设备,包括真机. 右边是当前设备列表运行的Acitivity ,即你当前运行的Activity 对应的UI布局,本篇将使用Android 自身

Android 开发调试工具的使用总结_Android

 Android 调试工具,这里做一个总结整理. DDMS --  Dalvik debug monitor service    调试监控服务 对模拟器进行相关配置. ADB进程   Android debug bridge  建立eclipse和Android设备之间的连接 cmd 进入dos界面,进行adb指令操作. adb start-server:启动adb进程 adb kill-server:杀死adb进程 adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb

Android 开发调试工具的使用总结

Android 调试工具,这里做一个总结整理. DDMS --  Dalvik debug monitor service    调试监控服务 对模拟器进行相关配置. ADB进程   Android debug bridge  建立eclipse和Android设备之间的连接 cmd 进入dos界面,进行adb指令操作. adb start-server:启动adb进程 adb kill-server:杀死adb进程 adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进