将在系统初始化变innerPadding在功能上的脚手架自动?

0

的问题

我学习的撰写、编码是从 文章.

我告诉所有下列内容:

身体内容的类型@组合(InnerPadding)->单位:lambda收到一个填补作为一个参数。

我很奇怪这里的变量 innerPadding 初始化,将在系统初始化的变量 innerPadding 在功能 Scaffold 自动?

一个代码

 Scaffold { innerPadding ->
        Text(text = "Hi there!", modifier = Modifier.padding(innerPadding))
 }
android-jetpack-compose kotlin
2021-11-24 01:53:09
1

最好的答案

2

检查的源代码,你会看到 Scaffold 实现为 subcompose布局. 底部是吧subcomposed:

val bottomBarPlaceables = subcompose(ScaffoldLayoutContent.BottomBar) {
    CompositionLocalProvider(
        LocalFabPlacement provides fabPlacement,
        content = bottomBar
    )
}.fastMap { it.measure(looseConstraints) }

innerPadding 然后是来自高度底栏:

val bottomBarHeight = bottomBarPlaceables.fastMaxBy { it.height }?.height ?: 0

val innerPadding = PaddingValues(bottom = bottomBarHeight.toDp())
content(innerPadding)
2021-11-24 03:09:15

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................