Jetpack Compose如何绘制自定义形状边框?
解决自定义形状气泡边框问题
你当前的border修饰符没有指定自定义形状,默认使用矩形,所以即便设置了shape = ChatBubbleShape,边框还是保持矩形。要让边框跟随自定义形状,需要做两处修改:
- 给
Modifier.border()传入第三个参数(形状参数),指定你的ChatBubbleShape - 给
background()也同步指定相同形状,避免背景超出边框范围
修改后的代码如下:
modifier = Modifier .border(2.dp, MaterialTheme.colors.onSurface, ChatBubbleShape) .background(Color.Red, ChatBubbleShape), shape = ChatBubbleShape ) {}
原因说明:
border修饰符的默认形状是RectangleShape,必须显式传入自定义形状,才能让边框匹配你想要的气泡样式- 如果
background不指定形状,会沿用视图的默认矩形,导致红色背景溢出边框,破坏气泡的整体造型
内容的提问来源于stack exchange,提问作者Regress.arg
相关产品推荐
相关产品推荐

