從小就語文不好,第一次寫文章心里還是有點忐忑的~。這里主要是對看書學到的知識作總結(jié),(發(fā)現(xiàn)以前的東西都忘了)廢話不多說,直接進入主題吧。
主要解決倆個問題:
1.view支持wrap_content
2.padding要自己處理
拿畫一個圓來說,先看下一普通平時的寫法

這樣寫就簡單實現(xiàn)了一個紅色的實心圓,但是如果你在布局中修改padding值是無法生效的,還有寬高設為wrap_content時也是無效的。
為解決上面?zhèn)z種問題,我們需要做如下處理:
1.padding值無法生效,解決這個問題其實很簡單,就是在onDraw的時候,把padding值算進去,下面是代碼

2.在wrap_content時無效,解決辦法,在測量的時候得到寬高設置的模式和大小,做出判斷

MeasureSpec.AT_MOST 是指父組件能夠給出的最大的空間,也就是指wrap_content時,這里我給的默認值是200。
自定義屬性太簡單,這里就不說了。
代碼不多,挺簡單的,直接貼出完整代碼吧
