android LazyColumn,如何添加窗口插入填充到我的填充?

q43xntqr  于 2022-12-28  发布在  Android
关注(0)|答案(1)|浏览(99)

我有一个LazyColumn,这里有一个contentPadding = PaddingValues(16.dp)
现在,我想添加导航栏高度到底部填充,以实现“边缘到边缘”的效果
所以contentPadding = WindowInsets.navigationBars.asPaddingValues()
但是我怎么把这两个加在一起呢?

LazyColumn(
        contentPadding = WindowInsets.navigationBars.asPaddingValues() + PaddingValues(16.dp),

我创造了这个

@Composable
operator fun PaddingValues.plus(paddingValues: PaddingValues): PaddingValues {
    val layoutDirection = LocalLayoutDirection.current
    return PaddingValues(
        start = calculateStartPadding(layoutDirection) + paddingValues.calculateStartPadding(layoutDirection),
        top = calculateTopPadding() + paddingValues.calculateTopPadding(),
        end = calculateEndPadding(layoutDirection) + paddingValues.calculateEndPadding(layoutDirection),
        bottom = calculateBottomPadding() + paddingValues.calculateBottomPadding()
    )
}

但感觉不对

enxuqcxy

enxuqcxy1#

您可以对WindowInsets.only扩展使用不同的内容:

LazyColumn(
    modifier = Modifier.windowInsetsPadding(
          WindowInsets.navigationBars.only(WindowInsetsSides.Bottom)),
    contentPadding = PaddingValues(16.dp)                 
)

相关问题