Android HierarchyViewer

HierarchyViewer

HierarchyViewer 是Android开发工具SDK中的一个用户界面层级查看器。

HierarchyViewer 工具位于Android SDK包中的tools目录下。Windows版本工具名称为hierarchyViewer.bat 双击打开即可运行,Linux版本下攻击名称为hierarchyviewer,终端进入Android SDK包中tools目录下执行 . hierarchyviewer可进入程序。eclipse和Android studio有对应界面可直接在里面查看hierarchy viewer。

HierarchyViewer界面上下各有三个菜单。上下部分可一在三个功能之间切换。中间是连接的设备信息,真机和虚拟机都会识别。
在这里插入图片描述

HierarchyViewer上面三个按钮

  • Refresh刷新设备信息
  • Load View Hierarchy查看视图层级
  • Inspect Screen shot检查屏幕截图

HierarchyViewer下面三个可以对应当前和另外两个界面的进行切换。

中间是设备的视图层级展示,显示每个连接设备的视图层级信息,没一层视图会有包名/类名的提示。双击某个层级能够查看该层级的详细内容。进入Load View Hierarchy视图。

Load View视图

Load View视图可以查看某一层级UI的详细内容。该部分由四部分组成。

上侧的菜单选项
右侧的层级结构缩略图和控件信息和界面预览图
中部的层级结构图
下方的界面切换按钮和搜索栏

上方菜单共有十个
在这里插入图片描述

Save as PNG (Save the tree view as a PNG image) 保存视图作为一个PNG图片 (Ctrl + S)

Capture Layers (Capture the window layers as a photoshop document) 捕获窗口层作为一个PS图像处理文档 (Ctrl +C)

Load View Hierarchy (Reload the view hierarchy) 重新加载视图层次结构 (Ctrl + H)

Evaluate Contrast (Evaluate the contrast ratio of this view) 评价此视图的对比度
在这里插入图片描述
在这里插入图片描述

Display View (Display the selected view image in a separate window) 在单独的窗口中显示选定的图片 (Ctrl + D)

Invalidate Layout (Invalidate the layout for the current window) 使当前布局无效 (Ctrl + I)

Request Layout (Request the view to layout ) 请求重绘制布局 (Ctrl + L)

Dump DisplayList (Request the view to output its displaylist to logcat) 请求视图显示列表到logcat输出

Dump Theme (Dumping the resources in this View’s Theme) 显示这一视图的主题资源

Profile Node (Obtain layout times for tree rooted at selected node) 获取在选定节点的布局时间

Evaluate Contrast 会在新窗口显示当前视图控件的类型以及一些基本属性

Invalidata Layout 和 Request Layout 可以重新绘制指定视图 ,和debug一起使用来优化UI

Dump Theme 载入当前视图的主题属性
在这里插入图片描述

Profile Node 计算视图的绘制时间,点击会出现几个圆点,
绿色 :
黄色 :
红色 :
在这里插入图片描述

另外在视图上可以详细看到视图绘制所消耗的具体时间
Measure
Layout
Draw
在这里插入图片描述

右侧分为上中下三个部分,上面是中心部分的缩略图,可以对中心部分快速定位。中部是当前视图的属性。下方是手机界面的预览图。

视图的属性主要包括以下:
Accessibility
Drawing
Events
Focus
Layout
Measurement
Miscelleaneous
Padding
Scrolling
Text
Theme
在这里插入图片描述

还有一些特殊控件有特别的属性,比如ListView会有Selected,TextView 没有Event等。
中心部分是视图的层级。由一个一个button式的item组成整个UI的层次结构。每个item有控件的类型(class)、控件的id(@###)、控件的id(id/###)、绘制的顺序(右下角角标基于父控件)。
最下面的状态栏多了一个Filter by class or id 过滤搜索框,添加过滤内容后如下图匹配项会高亮显示。此部分还多出来两个百分比。
在这里插入图片描述
Inspect Screenshot 该功能会以像素点的形式显示当前层级视图。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值