Android View.setLayoutParams完成之后有没有回调或是其他什么方法是getWidth能拿到更新后的值
迷茫
迷茫 2017-04-17 16:36:05
0
1
677

我发现在使控件调用setLayoutParams()之后,立即通过getWidth()getHeight()不能拿到其更新后的值。我异步打印后发现,要等一段时间后这两个获取宽高的函数才能返回更新后的值。
那么问题就来了,什么时候getWidth()才能返回更新后的值呢?这个时候有没有什么监听或是回调?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all(1)
巴扎黑
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        view.getViewTreeObserver().removeGlobalOnLayoutListener(this);

        // getWidth or getHeight;
    }
});
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template