出于测试目的,我需要获取屏幕上所有可见视图的坐标。但是,在检查输出时,似乎 UI 线程尚未完成对所有视图的绘制/定位/应用设置。有些视图是 0x0 像素,而它们应该是可见的(并且它们在模拟器和物理设备上)。一些底部对齐的按钮的位置类似于楼梯等。
问:如何等待 UI Thread 完成绘制(或至少等待一秒钟,应该绰绰有余),所以所有可见视图的坐标都是准确的?
我怀疑它与线程有关,但我找不到任何明确的答案。到目前为止,我还没有任何自我声明的线程。
编辑:我使用 onBackPressed 使一堆视图可见,然后在 xml 中捕获它,使以前的视图不可见和其他视图可见,在 xml 中捕获它等等。我通过一些不同的视图组合和“xml-screenshot”进行迭代“每个组合。