Jetpack 组合内部填充

z.g*_*g.y 5 padding uiswitch android-jetpack-compose

有没有一种简单的方法可以在组合中删除开关的内部填充?

我尝试在其修饰符中提供 0.dp,但它并没有消除内部填充

 Switch(
      modifier = Modifier
           .padding(0.dp)
           .background(Color.Red), // just to show the internal box paddding
      checked = true,
      onCheckedChange = { }
 )
Run Code Online (Sandbox Code Playgroud)

转变

Thr*_*ian 9

由于可访问性的最小触摸目标,开关、复选框、单选按钮、按钮、滑块等我目前不记得的可组合项的最小尺寸为48.dp。

您可以使用以下命令删除它CompositionLocalProvider

CompositionLocalProvider(LocalMinimumInteractiveComponentEnforcement provides false) {
    Switch(
        modifier = Modifier
            .padding(0.dp)
            .background(Color.Red), 
        checked = true,
        onCheckedChange = { }
    )
}
Run Code Online (Sandbox Code Playgroud)