Cha*_*ayy 23 android android-layout android-activity
我有一个后台线程来更新我的活动的UI,之后onCreate().它可以添加布局,也可以更改其他布局.
我只是想检测布局传递何时在我的活动中完成,以便能够手动更新其他视图的位置,这些视图直接取决于刚刚加入或修改的布局.
现在,我只是用Handler一个postDelayed runnable触发的modifs后,没有工作,一个小的延迟之后,围绕50-100毫秒requestLayout().
它有效,但我们可以看到延迟.我想尽快完成这项工作.在视图代码中,检测测量过程很简单,但我没有找到如何在活动中直接解决这个问题.
Phi*_*ons 44
GlobalLayoutListener将在完成布局时触发事件.这会满足你的需求吗?
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)
| 归档时间: |
|
| 查看次数: |
13726 次 |
| 最近记录: |