1. clipToPadding
屬性解釋:
- clipToPadding默認為true,當clipToPadding為true時,表示布局不能繪制到padding區(qū)域。當clipToPadding為false時,表示布局能夠被繪制到padding區(qū)域。
提出問題:
- 當我們?yōu)長istView、ScrollView、GridView設(shè)置了paddingTop或paddingBottom的時候,我們發(fā)現(xiàn)當滑動到頂部和底部的時候,默認情況下padding/margin在滑動中一直存在,view總是不能滑動到最底部和最頂部,看起來很別扭。
問題原因:
- 由于默認情況下,clipToPadding為true,導致布局不能滑動到最頂部或最底部,很多人平時很少會關(guān)注這個屬性。
解決辦法:
- 在布局ListView、ScrollView、GridView中將clipToPadding設(shè)置為false即可。
2. clipChildren
屬性解釋:
- 定義一個孩子是否僅限于畫里面的界限。clipChildren默認為true,表示孩子不能繪制到padding區(qū)域,即僅能繪制在padding內(nèi)部。clipChildren為false時,表示孩子可以繪制到padding區(qū)域。
提出問題:
- 類似微信未讀消息的布局中,設(shè)置的角標總是在布局的內(nèi)部,也就是在其父頁面的內(nèi)部,達不到微信的效果。
問題原因:
- clipChildren默認是true,導致子布局不能繪制到父布局的外面。
解決辦法:
- 將clipChildren設(shè)置為false,這樣子布局就可以繪制到父布局的外面,就能達到預計的效果。
案例

1426596831861410.png

添加clipToPadding后

添加clipToPadding前