天天看點

android view強制重繪_Android 如何判斷一個View重繪或加載完成?

展開全部

1、view重繪時回調(即監聽函e69da5e887aa3231313335323631343130323136353331333431363632數,當view重繪完成自動動用,需要向view的觀察者添加監聽器)。格式:

view.getViewTreeObserver().addOnDrawListener(new OnDrawListener() {

@Override

public void onDraw() {

// TODO Auto-generated method stub

}

});

2、view加載完成時回調(當view加載完成自動動用,需要向view的觀察者添加監聽器)。格式:

view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

// TODO Auto-generated method stub

}

});

android view強制重繪_Android 如何判斷一個View重繪或加載完成?

擴充資料:

兩種方式重新整理:

1、主線程可以直接調用Invalidate()方法重新整理

2、子線程可以直接調用postInvalidate()方法重新整理。

API的描述 : Invalidatethe whole view. If the view is visible, onDraw(Canvas) will be called at somepoint in the future. This must be called from a UI thread. To call from anon-UI thread, call postInvalidate().。

API的描述譯文:當Invalidate()被調用的時候,View的OnDraw()就會被調用,Invalidate()必須是在UI線程中被調用,如果在新線程中更新視圖的就調用postInvalidate()。