android Tools之Hierachy Viewer的使用
Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地帮助开发者分析,设计,调试和调整UI界面,提高开发效率。
如果你是一个布局的高手而且在布局的时候懂得如何减少UI的层次从而达到最精简的布局的话,那么你可以不用看这篇文章了。
一、布局
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.heraracky.MainActivity"tools:ignore="MergeRootFrame" ><LinearLayoutandroid:layout_width="300dp"android:layout_height="300dp"android:orientation="vertical"android:background="@android:color/darker_gray"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_launcher"/><TextViewandroid:layout_width="200dp"android:layout_height="wrap_content"android:text="textView"/></LinearLayout>
</FrameLayout>
二、启动模拟器并运行程序
布局文件的显示效果如图
三、运行Hierachy Viewer
用命令行运行hierachyviewer.bat
或者是用monitor.bat
monitor只不过是把DDMS视图和Hierarchyviewer视图绑定到了一起,不过我觉得monitor不太好用。
走起!!!
因为模拟器比较慢所以我打算用Hierarchyviewer来看真机的图层可是失败了。
要说明的4个按钮
1、刷新按钮 如果你的图层布局变化了,那么程序从新运行下,在点击该刷新按钮,Hierarchyviewer就会从新获取模拟器上的图层
2、我们选中我们的项目后,点击2按钮就会获取布局信息,并展示图层结构
3、按钮3回到设备以及程序目录视窗
4、按钮4回到布局视图层次机构视窗
对于Android的UI来说,invalidate和requestLayout是最重要的过程,Hierarchyviewer提供了帮助我们Debug特定的UI执行invalidate和requestLayout过程的途径,方法很简单,只要选择希望执行这两种操作的View点击按钮就可以。当然,我们需要在例如onMeasure()这样的方法中打上断点。这个功能对于UI组件是自定义的非常有用,可以帮助单独观察相关界面显示逻辑是否正确。
小结
本文中,通过简单的例子,讲解了在Android中一款不错的工具Hierarchy viewer的使用。
使用这个工具,用户可以很方便地查看和调试应用中的UI界面,分析其性能,建议用户在开发阶段多使用这款工具对UI进行开发设计。
android Tools之Hierachy Viewer的使用相关推荐
- Android 实用工具Hierarchy Viewer实战
在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率.其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开 ...
- Android Tools 在线更新SDK Manager
收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...
- No cached version of com.android.tools.build:gradle:2.0.0 available for offline mode.
异常场景 从AS2.0升级到2.1,重新编译工程后,抛出了如下异常 Error:A problem occurred configuring root project 'AndroidStudioPr ...
- Could not find com.android.tools.build:gradle
Could not find com.android.tools.build:gradle:3.0.0. 或者改代码:根目录下的build.gradle buildscript {repositori ...
- 解决delphi10.2.3 android tools闪退
解决delphi10.2.3 android tools闪退 修改D:\Program Files (x86)\Embarcadero\Studio\19.0\PlatformSDKs\android ...
- com.android.tools.build:gradle:2.0.0-alpha3 build errors
当Android studio 编译时间过长且出现问题比如下面的提示: java.exe'' finished with non-zero exit value 3. 此时就要检查一下跟目录下面的bu ...
- 【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
文章目录 一. 报错信息 二. 解决方案 一. 报错信息 导入了一个 Eclipse 项目 , 编译后报如下错误 : FAILURE: Build failed with an exception.* ...
- AndroidStudio编译提示Could not find com.android.tools.lintlint-gradle26.1.3问题的解决
打开app同事留下的project,此project用到library,编译此module的时候提示Could not find com.android.tools.lintlint-gradle26 ...
- com.android.tools.build:gradle:2.3.3,关于com.android.tools.build:gradle:3.4.2的构建问题
Android Studio Version:3.4.2 Android Gradle Plugin Version:3.4.2 Gradle Version:5.1.1 根据以上IDE工具以及对应的 ...
最新文章
- 计算机基础办公软件应用技能,计算机一级计算机基础及 ms office 应用考些什么...
- python 类的魔术方法_python中类的魔术方法
- 计算机基础知识-操作系统
- 微信开发必看,使用.Net Core 开发微信跨平台应用
- 【MFC系列-第18天】企业信息管理软件开发
- C函数的实现(strcpy,atoi,atof,itoa,reverse)
- oracle或mysql分组查询并且获取前3条排序后的数据
- 无法使用集合初始化_Java集合类解析之Hashtable
- 10g的客户端从9i的服务器中导出数据时遇到上面的问题
- Java基础学习——安装JDK
- 【BZOJ-3573】米特运输 树形DP
- 三菱伺服驱动器示例_三菱PLC控制伺服电机编程实例
- 磁盘管理高级进阶-LVM逻辑卷管理
- ajax2 cors跨域,Koa2框架应用CORS完成跨域ajax要求
- 2021辐轮王进口中国国内儿童山地自行车哪个品牌好比较好骑行
- 从洛伦兹曲线定性地看马太效应的根源
- 明争暗斗 京东阿里智能家居大战一触即发
- 揭秘金庸笔下的假面江湖
- 栈 java 什么意思_java stack什么意思
- 基于java毕业设计的汽车销售进销存