Android Jetpack 撰写 IconButton 填充

LDQ*_*LDQ 7 android android-button android-jetpack-compose

如何删除 IconButton 中的填充?我希望我的列中的项目具有相同的开始填充

预览图

Column(
    modifier = Modifier
        .fillMaxWidth() 
        .padding(horizontal = 16.dp)
) {
    IconButton(onClick = { }) {
        Icon(asset = Icons.Filled.Search)
    }
    Text("Some text")
} 
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 12

随着1.0.0IconButton应用此修改器:IconButtonSizeModifier = Modifier.size(48.dp)
这是由于可访问性触摸目标并允许正确的最小触摸目标大小。

您可以使用以下内容对其进行修改:

IconButton(modifier = Modifier.
        then(Modifier.size(24.dp)),
    onClick = { }) {
    Icon(
        Icons.Filled.Search,
        "contentDescription",
        tint = Color.White)
}
Run Code Online (Sandbox Code Playgroud)

.thensize正确的顺序应用是很重要的。

在此处输入图片说明


vov*_*ost 10

将 包裹IconButton起来以覆盖强制最小触摸目标为 的CompositionLocalProvider值。LocalMinimumTouchTargetEnforcement48.dp

CompositionLocalProvider(
    LocalMinimumTouchTargetEnforcement provides false,
) {
    IconButton(onClick = { }) {
        Icon(
            imageVector = Icons.Filled.Search,
            contentDescription = "Search",
        )
    }
}
Run Code Online (Sandbox Code Playgroud)