Jetpack Compose ClipToPadding
Posted
技术标签:
【中文标题】Jetpack Compose ClipToPadding【英文标题】: 【发布时间】:2021-05-31 18:50:44 【问题描述】:我知道我可以像这样向小部件添加填充
LazyColumn(
modifier = Modifier.padding(0.dp, 0.dp, 0.dp, 10.dp),
content =
items(items.size) index ->
EmergencyContactComposeItem(emergencyContact = items[index])
)
但我如何产生与“clipToPadding=false”相同的结果
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:clipToPadding="false"
android:paddingBottom="25dp">
视图/小部件在哪里不会剪裁填充,但仍会强制边界?
【问题讨论】:
【参考方案1】:尝试如下内容填充:
LazyColumn(
contentPadding = PaddingValues(bottom=10.dp),
)
items(items.size) index ->
EmergencyContactComposeItem(emergencyContact = items[index])
【讨论】:
【参考方案2】:LazyColumn 采用contentPadding
实现clipToPadding
。您可以通过三种方式使用它。
第一个: 如果您想在各个方向添加相同的内容填充,请使用:
LazyColumn(
contentPadding = PaddingValues(all = 16.dp)
)
items(items.size) index ->
EmergencyContactComposeItem(emergencyContact = items[index])
第二个: 如果您想在水平(开始和结束)或垂直(顶部和底部)添加相同的内容填充,请使用:
LazyColumn(
contentPadding = PaddingValues(horizontal = 16.dp, vertical = 10.dp)
)
items(items.size) index ->
EmergencyContactComposeItem(emergencyContact = items[index])
第三个: 如果您想在各个方向添加不同的内容填充,或者如果您想在某些方向添加,请使用:
LazyColumn(
contentPadding = PaddingValues(start = 5.dp, top = 10.dp, end = 8.dp, bottom = 6.dp)
)
items(items.size) index ->
EmergencyContactComposeItem(emergencyContact = items[index])
【讨论】:
以上是关于Jetpack Compose ClipToPadding的主要内容,如果未能解决你的问题,请参考以下文章
Android Jetpack Compose学习—— Jetpack compose基础布局
Android Jetpack Compose学习—— Jetpack compose基础布局
Android Jetpack Compose学习—— Jetpack compose入门