删除 Jetpack Compose 新更新中复选框周围的默认填充

Har*_*abh 16 android android-jetpack-compose

在 jetpack compose 的新更新中,将在可触摸对象周围提供默认的填充空间,如官方文档中所述。 参考这个

请帮助如何避免这种情况并实现此“将 LocalMinimumTouchTargetEnforcement 设置为 false ”以及在哪里执行此操作?

Thr*_*ian 33

你需要提供它CompositionLocalProvider

CompositionLocalProvider(LocalMinimumInteractiveComponentEnforcement provides false) {
    Checkbox(
        checked = checked,
        onCheckedChange = {
            checked = it
        }
    )
}
Run Code Online (Sandbox Code Playgroud)


sai*_*ina 6

尝试一下:

Checkbox(modifier = Modifier.absoluteOffset((-12).dp, 0.dp))
Run Code Online (Sandbox Code Playgroud)

  • -12 是硬编码的。没有人知道默认填充将来会如何更改 (2认同)

lba*_*osa 5

对于材料 3,相当于Thracian 的答案(感谢您引导我走向正确的方向!):

CompositionLocalProvider(LocalMinimumInteractiveComponentEnforcement provides false) {
   Checkbox(
       checked = checked,
       onCheckedChange = {
           checked = it
       }
   )
}
Run Code Online (Sandbox Code Playgroud)