Layout Inspector(布局检查器) 大家应该都不陌生,我们可以通过它来检查布局层级。最近 Google 团队在 Medium 上发布了 Android Studio 4.0 上关于 Layout Inspector 的更新情况,原文地址如下:
下面就带着大家简单了解一下 AS 4.0 为 Layout Inspector 带来了哪些新能力。
使用
View -> Tool Window -> Layout Inspector
接着选择你要调试的进程就可以了。
这里要注意的是你选择的进程只能是 正在运行的进程 ,并且是 可调试的 。可调试就是你的 apk 中的清单文件中 debugable
的值为 true
,通过 AS 直接运行在手机或者模拟器上的应用都是可调试的。
我使用自己的应用 直达 也体验了一下。
猝不及防的打一波广告。直达是我做的一个小工具,通知栏快速启动 微信扫码 ,支付宝扫码 ,收能量 ,淘宝搜索页,知乎搜索页 等等。更多快捷方式正在路上!下载地址:
回到正题。
最左侧是布局层级,可以清楚的看到从 DecorView
到最上层的每一层级的布局,中间是应用截图,最右边是当前页面的各种属性,一目了然。
这都是本来就支持的功能。在 AS 4.0 中,又新增了一些实用功能。
新功能
Live updates
在中间一栏的上部多了一个 Live updates 选项,开启之后,当你在操作你的App 时,Layout Inspector 可以实时更新你的屏幕变化。而以前只能查看单独页面,这是一个很大的改善。录个屏给大家演示一下。
支持 3D 视图
这个看起来很酷炫,可是很遗憾,我的设备并不支持。
不知道这个 Device image too large
是不是指手机分辨率过高。
在这里就放几张 Google 的图片。
可以直接拖动视图,360 度查看布局层级。
在视图上右击,会弹出菜单项,可以选择仅展示当前视图的父 View 或者 子 View 。
在右侧的属性视图中,可以直接跳转到布局控件声明处,即 xml 文件代码 处。
还有什么可以查看视图层级 ?
搞过无障碍服务开发的应该都用过 Android Device Monitor 里面的 Dump View Hierarchy 功能,我个人也更加喜欢这个工具。因为它可以分析任何应用的页面,更加强大一些。这跟 Layout Inspector 的应用场景是不一样的。
除了 PC 上的工具以外,Android 上也有一些解决方法。最近比较火的 Doraemon,来自滴滴的开源开发工具就支持了这一功能,同样也支持 3D 展示。同样的,它也只支持集成进本应用查看当前布局层级。
那么,有没有办法在手机上实时查看任何应用的布局层级呢?办法也是有的,通过无障碍服务就可以。在 AccessibilityService 中就可以获取到当前页面的层级结构,不论处于前台的是什么 App ,再参考 Doraemon 的布局分析代码就行了。这个功能挺有意思,有空来实现一下。
关于 Layout Inspector 就说到这里了,大家可以下载 Android Studio 4.0 Beta 版本来亲自体验一下。