Android 深入系统完全讲解(10)

Posted 程序员入门进阶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 深入系统完全讲解(10)相关的知识,希望对你有一定的参考价值。

8 如何定位界面,定位代码

这一节我们来说说如何定位界面,这个也是一个神器,今天来讲讲 hierarchyviewer.bat 的用法,AS 也有新的工具,但是我还是喜欢这个工具,于是我们开始讲这个。

我们使用 Genymotion 创建一个 android 虚拟机启动起来,然后运行 hierarchyviewer.bat 可以看到一个界面。(有时候需要退出去再启动一次,第一次有时出不来信息)

从这里就能定位到当前的界面,然后这个就提供了一些信息,比如能够让我们很快的找到一些系统控件,比如 StatusBar,如果我们依据这个关键字去找,会找的非常累,因为这个子串不特殊,但是我们看到一个 AssistPreviewPanel 很特殊,于是用这个去找到方法是最好的方式,我们代码中搜索下。

通过这个找到方法,然后我们把这个替换成 StatusBar,去检索定位。setTitle(“StatusBar”)
然后我们回到正题,我们可以看到每一个 View(显示界面),那么点击 LoadView Hierarchy这个我们可以看到布局信息,


这里很重要的信息,右上角的区域可以快速的定位一个位置,而左边的是详细的,有下角显示一个边界信息。

我们放到左侧,看看这里的信息:


我们定位界面的时候,找到这个 View 树里面的特殊 View,或者是特殊的 id,用这两个信息在代码中便可以快速的定位到对应的布局文件。

在我们找的时候,可以点击某个灰色框,这样子它会显示这部分的实际效果,这个能够让我们定位具体控件的时候加速,这样子你就可以确定是不是有你要找的控件,如果没有直接可以排除这个目录树,是不是很快就能定位下去,找到你要的那个 View。

这一节就分享这个技巧,这也是我在找布局的一个方法,总结起来就是特殊字串,特殊 id,特殊 View。

一个界面要快速定位,需要找到这个界面特殊性,很多人处理问题不会找关键字,导致定位不出来,搜索出来一堆无用信息。

以上是关于Android 深入系统完全讲解(10)的主要内容,如果未能解决你的问题,请参考以下文章

Android 深入系统完全讲解(33)

Android 深入系统完全讲解(31)

Android 深入系统完全讲解(31)

Android深入系统完全讲解(38)

Android深入系统完全讲解(38)

Android 深入系统完全讲解(25)