android:clipToPadding和android:clipChildren

4,004 阅读1分钟

**android:clipToPadding ** 设置该控件的绘制范围是否在Padding里面。当clipToPadding为true时,布局不能绘制到padding区域。当clipToPadding为false时,表示布局能够被绘制到padding区域。默认clipToPadding为true。 具体举例: 当我们为ListView、ScrollView、GridView设置了paddingTop或paddingBottom的时候,我们发现当滑动到顶部和底部的时候,默认情况下padding/margin在滑动中一直存在,view总是不能滑动到最底部和最顶部。这是因为android:clipToPadding默认为true,当我上下滑动控件时,不会忽视控件的padding属性,导致布局不能滑动到最顶部或最底部。

添加clipToPadding前
在布局ListView、ScrollView、GridView中将clipToPadding设置为false时,view能随着滑动滑到最底部和最顶部。为false表示:当我上下滑动控件时,会忽视控件的padding属性。
添加clipToPadding后

android:clipChildren 定义子view是否仅限于ViewGroup里面的界限。clipChildren默认为true,表示子view不受父view大小的限制,可以超过父view的宽高,延伸到周围view内部。属性设置要写在ViewGroup中。 clipChildren为false时,表示子view受父view大小的限制,不可以超过父view的宽高。

clipChildren为true时
clipChildren为false时

总结:

  1. android:clipToPadding 是否可以在padding区域内绘制 2.android:clipChildren 子view是否可以超出父view的区域