android:如何知道设置布局已完成调用getLocalVisibleRect

时间:2012-10-11 07:40:14

标签: android android-layout

我正在调用getLocalVisibleRect()并返回所有0和 我从其他问题中了解了原因:

“在使用getLocalVisibleRect之前需要等到android完成布局设置,如果在OnCreate中调用它,它将无效”。

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

1 个答案:

答案 0 :(得分:1)

  

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

结帐ViewTreeObserver

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

这样的事情:

ViewTreeObserver vto = myView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
     void onGlobalLayout() {
       //your callback code
     }
});