我正在调用 getLocalVisibleRect() 并且它返回全 0,我从其他问题中了解了原因:
“在使用getLocalVisibleRect之前需要等到android完成布局设置,如果你在OnCreate中调用它就不起作用”。
我的问题是我怎么知道布局已经完成。我有一个线性布局,我正在尝试在其上绘制一些对象。我不想定义任何 onclick 监听器。我希望在布局设置完成后立即绘制项目。
我正在调用 getLocalVisibleRect() 并且它返回全 0,我从其他问题中了解了原因:
“在使用getLocalVisibleRect之前需要等到android完成布局设置,如果你在OnCreate中调用它就不起作用”。
我的问题是我怎么知道布局已经完成。我有一个线性布局,我正在尝试在其上绘制一些对象。我不想定义任何 onclick 监听器。我希望在布局设置完成后立即绘制项目。
我的问题是我怎么知道布局已经完成
每个视图都有一个,并且它有一堆回调接口,当绘制完成或布局完成时将被调用(参见ViewTreeObserver.OnGlobalLayoutListener)
像这样的东西:
ViewTreeObserver vto = myView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
void onGlobalLayout() {
//your callback code
}
});