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