相关疑难解决方法(0)

如何删除或减少 Jetpack compose OutlinedButton 中的填充

无法减少 OutlinedButton 中的巨大填充。尝试了 contentPadding、修饰符填充等。无法减少文本“apple”的填充。任何想法?我应该为此使用任何其他类型的组合组件吗?

OutlinedButton(     
    onClick = {},       
    border = BorderStroke(1.dp, Color.White),
    shape = RoundedCornerShape(12.dp),
    contentPadding = PaddingValues(0.dp),
    modifier = Modifier 
        .background(bgColor)
        .height(24.dp)      
        .padding(all = 0.dp),
    colors = ButtonDefaults.outlinedButtonColors(backgroundColor = bgColor)) {
        Text("apple",   
            color = Color.White,
            style = MaterialTheme.typography.body2,
            modifier = Modifier.height(10.dp).padding(vertical = 0.dp), //.background(bgColor),
        )               
    }
Run Code Online (Sandbox Code Playgroud)

在 @liveAnyway 的回答(谢谢!)之后更新,这似乎有帮助。之后,我也删除了 OutlinedButton 的高度 - 理想情况下我希望它像“wrap-content”一样。进行更改后,我仍然可以看到填充。底线我不想指定任何绝对高度,以便它可以使用系统设置中的不同字体大小。

Row(modifier = Modifier.padding(vertical = 12.dp)) {
    OutlinedButton( 
        onClick = {}, 
        border = BorderStroke(1.dp, Color.White),
        shape = RoundedCornerShape(18.dp),
        contentPadding = PaddingValues(0.dp),
        modifier = Modifier
            .background(bgColor)
            .padding(all = …
Run Code Online (Sandbox Code Playgroud)

android material-ui android-jetpack-compose android-jetpack-compose-button

26
推荐指数
2
解决办法
3万
查看次数

Jetpack Compose - 修饰符顺序

文档说修饰符是从左边应用的。但从这个例子来看,它们似乎是从右侧应用的:首先边框,然后填充,因为文本和边框之间没有空格

Text("Hi there!", Modifier.padding(10.dp).border(2.dp, Color.Magenta))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android modifier android-jetpack android-jetpack-compose

8
推荐指数
3
解决办法
2449
查看次数