`
univasity
  • 浏览: 813862 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android UI检视利器:Hierarchy Viewer[转]

阅读更多

原文链接: http://www.cnblogs.com/sardine/archive/2011/02/12/1951828.html

 

Hierarchy Viewer 是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat。它是Android自带的非 常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,但是好像很少有人提它,难道是因为太简单?

http://blog.csdn.net/ddna/archive/2010/04/25/5527072.aspx

具体来说主要功能有2个:

1. 从可视化的角度直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计;

2. 结合debug帮助观察特定的UI对象进行invalidate和requestLayout操作的过程。

 

1. 基本使用方法

(1)hierarchyviewer的使用非常简单,启动模拟器或者连接上真机后,启动 hierarchyviewer.bat,会看到下面的界面,Devices里列出了可以观察的设备,Windows里列出的是当前选中的设备的可以用来 显示View结构的Window: 

 

     选中某个想要观察的Window,比如上面列出的 com.android.launcher/com.android.launcher.Launcher项,然后点击菜单栏的Load View Hierarchy,就进入Layout View,由于要解析相关Window,所以这个过程要几秒钟,左边列出的是当前窗口的树型布局结构图,右边列出的是当前选中的某个子View的属性信息 和在窗口中的位置:

 

    需要注意的是:Layout View列出的View结构是从视图的根节点开始的,比如针对Launcher使用的layout,它的底层基础布局DragLayer实际上是放在一个 FrameLayout里的,该FrameLayout又是被PhoneWindow的DecorView管理的。

 

(2)点击界面左下角类似九宫格的按钮,就进入了Android称之为Pixel Perfect View的界面,这个界面里主要是从细节上观察UI效果:

 

左边是浏览视图,中间是全局的视图,右边是当前关注的地方的细节放大,是像素级别的,对于观察细节非常有用。

Refresh Rate 用来控制View多久从模拟器或者真机上更新一次视图数据。

Zoom 就是放大局部细节用的,细节显示在最右边的视图上。

Overlay 比较有意思,主要用来测试在当前视图上加载新的图片后的效果,点击Load…选择图片后,可以控制在当前 界面上显示的透明读,滑动0%~100%的控件即可。如果选择了Show in Loupe,右侧的放大视图也会将加载的图片的细节结合着透明度显示出来。不过目前这个Overlay做的比较简单,合成的图只能从界面的左下角为原点画 出来,不能移动。

 

 

(3)在Layout View中,选中一个view的图示,点击工具栏的Display View,就可以看到这个view的实际显示效果,可以点选Show Extras,这个功能也比较实用,可以显示出该View中不同元素显示的边界,帮助我们检查是否正确。

 

 

2. Hierarchyviewer的invalidate和requestLayout功能

对于Android的UI来说,invalidate和requestLayout是最重要的过 程,Hierarchyviewer提供了帮助我们Debug特定的UI执行invalidate和requestLayout过程的途径,方法很简单, 只要选择希望执行这两种操作的View点击按钮就可以。当然,我们需要在例如onMeasure()这样的方法中打上断点。这个功能对于UI组件是自定义 的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。

分享到:
评论

相关推荐

    Android 实用工具Hierarchy Viewer实战

    Android 开发中,UI 分析工具 Hierarchy Viewer 是一个非常有用的工具,可以帮助开发者快速、方便地设计、调试和调整界面,提高用户的开发效率。本文将详细介绍如何使用 Hierarchy Viewer 工具在 Android 开发过程中...

    Android View Hierarchy,解决View Hierarchy不能启动

    解决这个启动 View Hierarchy时的这个bug: hierarchy viewer unable to debug device

    android工具Hierarchy_Viewer命令详解

    Hierarchy Viewer作为Android SDK的一个强大工具,主要服务于应用程序开发者,用于检查和优化用户界面(UI)的布局与性能。它能够提供详细的UI布局结构和视图属性,帮助开发者深入理解界面的设计,并进行必要的调整,...

    Hierarchy viewer的运行原理介绍

    ### Hierarchy Viewer运行原理深入解析 #### 一、Hierarchy Viewer概览 Hierarchy Viewer是一款由Google提供的强大...此工具不仅简化了UI设计和调试流程,还促进了应用性能优化,是每个Android开发者不可或缺的利器。

    hierarchyviewer

    在Android开发过程中,优化用户界面UI是至关重要的,而HierarchyViewer工具正是Android SDK提供的一款强大的界面分析工具,它能够帮助开发者深入洞察应用程序的视图层次结构,从而优化布局性能,提升用户体验。...

    hierarchyviewer不能连接android真机问题

    Hierarchy Viewer 是 Android SDK 提供的一款强大的可视化调试工具,能够帮助开发者直观地了解应用的 UI 结构并诊断潜在的性能问题。然而,在使用过程中,部分用户可能会遇到 Hierarchy Viewer 无法连接到 Android ...

    Android-HierarchyViewer是一个可以让您在GooogleChrome浏览器上以简单的方式显示App视图树的库

    HierarchyViewer是Android SDK中一个强大的工具,它允许开发者直观地查看Android应用程序的视图层次结构,以辅助UI调试和优化。这个工具最初是为Eclipse IDE设计的,但现在可以通过Google Chrome浏览器插件的形式...

    HierarchyViewer代码导读

    HierarchyViewer是Android开发中一个非常重要的工具,它用于可视化地检查Android设备上的UI布局层级,帮助开发者优化界面设计和性能。在本篇文章中,我们将深入理解HierarchyViewer的前端代码实现,探讨其如何处理...

    android hierarchyviewer其实在这里 你找到了吗?

    NULL 博文链接:https://byandby.iteye.com/blog/822526

    HierarchyViewer for iOS.zip

    HierarchyViewer是Android开发中的一款重要工具,用于可视化和调试Android应用程序的用户界面(UI)层级结构。然而,这里提到的"HierarchyViewer for iOS"显然与Android的原版HierarchyViewer不同,因为Hierarchy...

    uiautomatorviewer 工具最新版

    前面的一篇博文较详细地介绍了uiautomatorviewer:扫描和分析Android应用程序的UI控件的工具。 熟悉控件获取的同学都知道,使用uiautomatorviewer可以抓取到的用来定位控件的元素大概有 text resource-id content...

    uiautomatorviewer更新文件.rar

    解决uiautomatorviewer报错问题,分享给大家。 Unexpected error while obtaining UI hierarchy # 点击Details java.lang.reflect.InvocationTargetException

    UiautomatorViewer最新源码

    **UiautomatorViewer**是Android自动化测试中的一个重要工具,主要用于可视化地检查和分析应用程序的用户界面元素。这个工具基于`uiautomator`框架,允许开发者获取UI组件的详细信息,如它们的属性、坐标以及层级...

    androidUI详解文档

    1. **布局(Layouts)**:Android提供多种布局管理器,如线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)和约束布局(ConstraintLayout)。这些布局帮助...

    uiautomatorviewer.rar

    《使用UIAutomatorViewer获取Android界面元素XPath的详解》 在Android自动化测试和App UI调试过程中,能够准确地定位到界面元素是至关重要的。UIAutomatorViewer是一款强大的工具,它可以帮助开发者获取Android应用...

    uiautomatorviewer

    UIAutomatorViewer是Android SDK中的一个强大工具,主要用于进行UI自动化测试和元素分析。这个工具允许开发者查看Android设备或模拟器上的用户界面组件层次结构,并获取各个元素的相关信息,包括坐标、大小以及XPath...

    使用Hierarchy Viewer工具移除不必要的视图

    Hierarchy Viewer工具可以用来查看视图树(View Tree)并分析视图树中各个视图在测量、布局、绘制阶段所消耗的时间。通过该工具提供的信息,开发者可以找出视图树中那些不必要的视图以及性能瓶颈。在这个demo中,...

    使用Uiautomotorviewer无法获取手机页面元素+解决办法

    - 如果Uiautomatorviewer仍然存在问题,可以考虑使用其他同类工具,如Appium的Inspector、Espresso的View Hierarchy Viewer(需要在代码中实现)或者用更现代的API如UiAutomator2来获取UI元素信息。 7. **解决方案...

    Android自动化测试初探.doc

    Android SDK提供了一个名为HierarchyViewer的工具,它能够显示当前Activity的元素结构,类似于Windows上的UI Spy。虽然HierarchyViewer不支持直接触发事件,但它可以帮助我们理解应用的UI布局,从而为编写自动化测试...

Global site tag (gtag.js) - Google Analytics