Pra*_*nCG 9 android android-layout viewgroup
我创建了一个扩展ViewGroup的自定义布局.一切都很好,我按预期得到了布局.
我想动态更改布局中的元素.然而,这不起作用,因为我在onCreate中调用它,直到那时整个布局实际上(绘制)没有膨胀到屏幕上,因此没有实际大小.
是否有任何事件可以用来找出布局的膨胀何时完成?我试过onFinishInflate但是这不起作用,因为Viewgroup有多个视图,这将被多次调用.
我正在考虑在自定义布局类中创建一个接口,但不确定何时触发它?
Phi*_*ons 27
如果我正确理解您的要求,OnGlobalLayoutListener可能会为您提供所需的信息.
View myView=findViewById(R.id.myView);
myView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//At this point the layout is complete and the
//dimensions of myView and any child views are known.
}
});
Run Code Online (Sandbox Code Playgroud)