issues
search
bingoogolapple
/
bingoogolapple.github.io
个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86
stars
22
forks
source link
clipChildren 与 clipToPadding
#113
Open
bingoogolapple
opened
7 years ago
bingoogolapple
commented
7 years ago
代码
效果
clipChildren 和 clipToPadding 都是 ViewGroup 的属性,默认值都为 true。子控件既不能显示在父控件 padding 区域,也不能超出父控件本身区域
bingoogolapple
commented
6 years ago
代码
效果
子控件大于父控件除去 padding 以外的区域时
clipToPadding 设置为 false 时,子控件能显示在父控件的 padding 区域中,但不能超出父控件自身区域
bingoogolapple
commented
6 years ago
代码
效果
孙子控件大于子控件时(并且子控件没有设置 padding,或者子控件设置了 clipToPadding 为 false)
爷爷控件的 clipChildren 设置为 false 时,孙子控件能超出子控件自身区域,但不能显示在爷爷控件的 padding 区域中
bingoogolapple
commented
6 years ago
代码
效果
孙子控件大于子控件时(并且子控件没有设置 padding,或者子控件设置了 clipToPadding 为 false)
爷爷控件的 clipChildren 设置为 false 时,孙子控件能超出子控件自身区域,但不能显示在爷爷控件的 padding 区域中
如果还要能显示在爷爷控件的 padding 区域中,需要将爷爷控件的 clipPadding 设置为 false
bingoogolapple
commented
6 years ago
代码
效果
以此类推,如果要超出爷爷控件自身区域,还需要设置爷爷的爸爸的 clipChildren 为 false
bingoogolapple
commented
6 years ago
代码
效果
如果子控件的宽高小于父容器,可以配个 clipChildren、clipPadding,通过给父容器(如果怕影响之前的布局,可以给子控件单独套一层父控件)添加 paddingTop、paddingBotton、paddingLeft(不能用 paddingStart)、paddingRight(不能用 paddingEnd)或给子容器提那家 layout_marginTop、layout_marginBottom、layout_marginLeft、layout_marginStart、layout_marginRight、layout_marginEnd 来让子控件跑到父控件的外部
对应的方向和父容器的关系,否则该方向设置为负数时不会生效