0

我正在调用 getLocalVisibleRect() 并且它返回全 0,我从其他问题中了解了原因:

“在使用getLocalVisibleRect之前需要等到android完成布局设置,如果你在OnCreate中调用它就不起作用”。

我的问题是我怎么知道布局已经完成。我有一个线性布局,我正在尝试在其上绘制一些对象。我不想定义任何 onclick 监听器。我希望在布局设置完成后立即绘制项目。

4

1 回答 1

1

我的问题是我怎么知道布局已经完成

查看ViewTreeObserver

每个视图都有一个,并且它有一堆回调接口,当绘制完成或布局完成时将被调用(参见ViewTreeObserver.OnGlobalLayoutListener

像这样的东西:

ViewTreeObserver vto = myView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
     void onGlobalLayout() {
       //your callback code
     }
});
于 2013-03-18T21:36:51.900 回答