通常当视图中有东西“移动”时,布局检查器无法检索到简单的布局,这就是为什么暂停视频会起作用,但如果你有更复杂的东西,比如相机预览或谷歌地图,就更难了,不确定如何解决这个问题。
ViewTreeObserver
来测量一个视图的宽度/高度,并且根据从addOnPreDrawListener
接收到的结果更改一些宽度/高度/填充等内容;只需在onPreDraw
内部进行注释或注释与ViewTreeObserver
相关的所有代码。当我播放视频时,无法启动层次结构查看器。一旦暂停视频,它就可以正常工作!
这可能与您的Android版本有关。例如,我的情况下,在Android 4上使用Genymotion时会出现此错误。升级到Android 5后,该错误消失了。
我尝试过但没有成功的方法:
最终我通过关闭开发者选项,然后再打开并启用USB调试成功解决了问题。
注:Original Answer翻译成“最初的回答”。
在我的情况下,我连接了两个设备,一个是实体设备,另一个是模拟器。我必须确保只有一个设备被连接。然后它就可以工作了。我使用的是Android Studio 3.2 Canary版本。
在Android Studio v2.3.3上遇到了相同的问题,问题与CountDownTimer对象有关,它会导致问题(可能是由于onTick方法)。 在注释掉它之后,我可以正常使用Layout Inspector。 也许你在你的代码中使用了类似的东西,尝试将其注释掉并查看是否起作用。
我遇到了同样的问题。
模拟器无法捕获层次结构。
我使用真实设备,它可以正常工作。
我把我的设备从Nexus 6换成了Pixel XL,然后它就可以工作了。
所以尝试更改您的设备,看看是否可以解决问题。