You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jetpack Compose Glance API开发桌面小部件遇按钮占满问题

Glance App Widget按钮占满容器的解决方案

问题核心在于Glance的Button组件默认会填充父容器的宽度,所以在Row布局中,两个Button会各自抢占可用宽度,最终撑满整个小部件区域。

只需给每个Button添加wrapContentWidth()修饰符,让按钮仅包裹自身内容宽度即可解决问题,修改后的代码如下:

@Composable
private fun MyContent() {
    Column(
        modifier = GlanceModifier.fillMaxSize(),
        verticalAlignment = Alignment.Top,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(text = "hello", modifier = GlanceModifier.padding(12.dp))
        Row(horizontalAlignment = Alignment.CenterHorizontally) {
            Button(
                text = "A",
                onClick = actionStartActivity<MainActivity>(),
                modifier = GlanceModifier.wrapContentWidth()
            )
            Button(
                text = "B",
                onClick = actionStartActivity<MainActivity>(),
                modifier = GlanceModifier.wrapContentWidth()
            )
        }
    }
}

如果需要按钮之间保留间距,还可以给Button添加额外的水平padding:

modifier = GlanceModifier.wrapContentWidth().padding(horizontal = 6.dp)

内容的提问来源于stack exchange,提问作者Raghavendra Hande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:16:05