喷气背包Compose ClipToPadding

29

我明白我可以像这样给小部件添加填充

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_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:clipToPadding="false"
    android:paddingBottom="25dp">

视图/小部件将不会剪裁填充区域,但仍将强制执行边界?

2个回答

71

尝试像下面这样使用内容填充:

LazyColumn(
    contentPadding = PaddingValues(bottom=10.dp),
){

    items(items.size) { index ->
        EmergencyContactComposeItem(emergencyContact = items[index])
    }
}

12

LazyColumn使用contentPadding属性实现clipToPadding。你可以有三种方式使用它。

第一种: 如果你想在所有方向上添加相同的内容padding,则使用以下代码:

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])
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接