invalidate和requestLayout的區(qū)別及使用
1 回答

小喬要努力變強
TA貢獻1條經(jīng)驗 獲得超2個贊
找了一個回答給你:
1、不管大小變不變化,調(diào)用invalidate 只會執(zhí)行onDraw繪制,調(diào)用了之后就會強制執(zhí)行onDraw(),不管視圖是否發(fā)生了變化,我通過一個簡單的示例試過了。
2、調(diào)用requestLayout 會觸發(fā)onMeasure重新測量,并調(diào)用布局onLayout重新布局,但不會調(diào)用onDraw,總結就是,控件布局沒有變化時,執(zhí)行invalidate就可以;如果控件布局位置變化了,但顯示不變,例如平移,只需調(diào)用requestLayout
就可以;如果位置變化了,顯示也不一樣了,那就要同時調(diào)用,調(diào)用順序一般是requestLayout ,然后invalidate
- 1 回答
- 0 關注
- 3031 瀏覽
添加回答
舉報
0/150
提交
取消