1、clipToPadding
clipToPadding默认为true,当clipToPadding为true时,表示布局不能绘制到padding区域。当clipToPadding为false时,表示布局能够被绘制到padding区域。
效果展示:
设置为true,默认状态下为true。
设置为false
在滚动的时候,可以很明显的看到绘制布局的绘制区域差别,设置为true的话,绘制区域高度并没有覆盖红色区域,所以滚动的时候只能在红色一下的区域,而设置为false则告知复制过程可以绘制padding的范围区域,所以滚动的时候可以滚动到最顶部。
2、clipChildren
定义一个孩子是否仅限于画里面的界限。clipChildren默认为true,表示孩子不能绘制到padding区域,即仅能绘制在padding内部。clipChildren为false时,表示孩子可以绘制到padding区域。
在根布局设置android:clipChildren=false
时,可以超过父布局的限定范围。
不设置的时候,也就是默认为true的时候,视图被裁剪。
当设置了android:clipChildren=false
,视图完整展示,超过父布局限定范围。
下面是布局代码。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dip"
android:background="#334455">
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="添加" />
<Button
android:id="@+id/btnDel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-20dip"
android:text="移除" />
</LinearLayout>
</LinearLayout>