3 回答

TA貢獻1856條經(jīng)驗 獲得超17個贊
可以設置這個回調(diào)函數(shù)
12345678 | //view重繪時回調(diào) view.getViewTreeObserver().addOnDrawListener( new OnDrawListener() { @Override public void onDraw() { // TODO Auto-generated method stub } }); |
12345678 | //view加載完成時回調(diào) view.getViewTreeObserver().addOnGlobalLayoutListener( new OnGlobalLayoutListener() { @Override public void onGlobalLa |

TA貢獻2016條經(jīng)驗 獲得超9個贊
兩種方式刷新:
主線程可以直接調(diào)用Invalidate()方法刷新
子線程可以直接調(diào)用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().。當Invalidate()被調(diào)用的時候,View的OnDraw()就會被調(diào)用,Invalidate()必須是在UI線程中被調(diào)用,如果在新線程中更新視圖的就調(diào)用postInvalidate()。

TA貢獻1890條經(jīng)驗 獲得超9個贊
修改顏色后調(diào)用invalidate()
在自定義View 中提供一個方法
public void setRectColor(int color){
colors[x][x] = color; //修改顏色
invalidate();
}
- 3 回答
- 0 關注
- 743 瀏覽
添加回答
舉報