0

所以当你运行命令时:

adb shell dumpsys activity <my_package>

它将一大堆有趣的输出转储到屏幕上,其中一个部分是“视图层次结构”部分,它显示了一个可爱的嵌套视图层次结构,每一行都包含一个 android 视图或 ViewGroup。

这是一个示例行:

androidx.appcompat.widget.AppCompatImageView{43dece0 VFED..C.. ......I. 0,0-0,0 #7f0a00cc app:id/my_button}

构成这条线的大多数位都是有意义的......

  • androidx.appcompat.widget.AppCompatImageView = 视图类
  • 43dece0 = 视图的哈希码(或任何正确的名称)
  • app:id/my_button = 视图 ID
  • 0,0-0,0 = 视图的边界(我假设从左上角到右下角坐标)
  • #7f0a00cc = 甚至可能是视图的背景颜色

但是我遇到的真正问题(我一生都无法在任何地方找到答案,我什至求助于查看 adb 的源代码)是我不理解这部分行:

VFED..C.. ......I. 

这玩意儿是什么意思?

我很快就搞砸了,想看看当我改变一些关于视图的东西时,这些字母和圆点是否会改变。我让视图“ GONE ”,最后出现了“ I ”,当视图为“ VISIBLE ”时,“ I ”消失了,所以也许 I 与视图“不可见”有关,但这只是一个猜测。那么也许这些是视图标志?或查看状态?

我想清楚地知道这些中的每一个是什么意思。是否有一个词汇表可以清楚地解释这些“标志”中的每一个以及它们的含义?

请有人在这里帮助我,我在网络上找不到任何解释这些“标志”的地方,我很想真正和完全理解它们,而不必弄乱我的代码并尝试可以想象的视图迭代。

谢谢!

4

0 回答 0