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

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

迷茫
迷茫

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

모든 응답(1)
巴扎黑
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        view.getViewTreeObserver().removeGlobalOnLayoutListener(this);

        // getWidth or getHeight;
    }
});
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿