Android clipToPadding属性是做什么的?
我想知道什么clipToPadding
属性为Android中的ViewGroup
吗?
我已经通过文档和一些网站,但没有遇到实际解释它做什么,它是什么意思,以及我没有真正理解,所以我认为这可能是一个好主意,问这里
谢谢
您可以使用clipToPadding来滚动视图。 假设你有一个listview例如,你有填充设置在顶部和底部。 通常填充是可见的,不pipe哪个项目在屏幕上可见。 下图显示了一个包含10个项目的列表,但屏幕上仅显示4个项目,其中默认使用了clipToPadding设置:
- (填充)
- 第4项
- 第5项
- 第6项
- 第7项
- (填充)
现在,如果您要设置clipToPadding="false"
而不是仅仅将正常应用于整个视图,则只会将填充应用于最终项目,这是您在同一场景中看到的内容:
- 第4项
- 第5项
- 第6项
- 第7项
现在,如果您要滚动到列表的顶部或底部,您将会看到:
- (填充)
- 第1项
- 第2项
- 第3项
- 第4项
要么
- 第7项
- 第8项
- 第9项
- 第10项
- (填充)
一个实际的用法是,如果你有一个浮动动作button,例如,你应该使用clipToPadding与底部填充相结合,以确保整个底部项目可以被看到而不被FAB阻挡。
那有意义吗?
我知道评分最高的答案通过文字清楚地解释了这一点,但正如其所言,
“ 一张图片胜过千言万语 ”
这是一个价值1500的GIF描绘相同的:
(左: clipToPadding = "true"
右: clipToPadding = "false"
)
我build议你看看这篇文章https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g
或者,您可能希望您的RecyclerView在透明导航栏下滚动 – 通过将android:fitsSystemWindows =“true”与android:clipToPadding =“false”结合使用, 滚动内容将位于控件的后面,但当滚动到底部时,最后一项仍然会被填充到导航栏的上方 (而不是隐藏在下面!)。