`
dengbaoleng
  • 浏览: 1163009 次
文章分类
社区版块
存档分类
最新评论

Android工具之被忽略的UI检视利器:Hierarchy Viewer

 
阅读更多

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

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

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


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

1.基本使用方法

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

Android工具之被忽略的UI检视利器:Hierarchy Viewer/图www.linuxidc.com


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

Android工具之被忽略的UI检视利器:Hierarchy Viewer/图www.linuxidc.com


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

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

Android工具之被忽略的UI检视利器:Hierarchy Viewer/图www.linuxidc.com

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

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

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

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

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

Android工具之被忽略的UI检视利器:Hierarchy Viewer/图www.linuxidc.com


2.Hierarchyviewer的invalidate和requestLayout功能

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

本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2010-08/27923p2.htm


本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2010-08/27923.htm

分享到:
评论

相关推荐

    Android 实用工具Hierarchy Viewer实战

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

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

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

    Hierarchy viewer的运行原理介绍

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

    hierarchyviewer

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

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

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

    HierarchyViewer代码导读

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

    uiautomatorviewer 工具最新版

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

    HierarchyViewer for iOS.zip

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

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

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

    UiautomatorViewer最新源码

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

    uiautomatorviewer更新文件.rar

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

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

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

    uiautomatorviewer.rar

    UIAutomatorViewer是一款强大的工具,它可以帮助开发者获取Android应用界面上各个元素的详细信息,包括XPath,从而实现精准的元素操作。本文将深入探讨如何使用UIAutomatorViewer以及XPath在Android开发中的应用。 ...

    Xamarin.Android 非UI线程更新UI

    Only the original thread that created a view hierarchy can touch its views.`这样的异常,这是因为Android为了保证UI操作的同步性和一致性,限制了UI操作只能在主线程进行。 为了在非UI线程中安全地更新UI,...

    uiautomatorviewer

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

    ViewServer:Android的HierarchyViewer的本地服务器

    ViewServer是一个简单的类,您可以在Android应用程序中使用它来使用HierarchyViewer检查工具。 ViewServer需要Android SDK r12或更高版本。 快速开始 确认您需要此库(不需要 ) 如果您确实需要此库,请按照以下...

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

    在进行移动应用自动化测试时,UIAutomatorViewer是一款非常实用的工具,它允许开发者和测试工程师可视化地检查Android设备或模拟器上的用户界面元素,并获取这些元素的详细信息,以便编写自动化测试脚本。...

Global site tag (gtag.js) - Google Analytics