gpt4 book ai didi

flutter - 在 Flutter 中使用 borderRadius 为容器添加边框

转载 作者:行者123 更新时间:2023-12-03 02:38:36 26 4
gpt4 key购买 nike

Container(
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),

decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
border: Border(
left: BorderSide(
color: Colors.green,
width: 3,
),
),
),
height: 50,
),

这应该显示一个圆形边缘的容器,带有 3px 宽的绿色左边框,以及子文本“这是一个容器”。然而,它只是显示了一个圆边容器,带有一个不可见的子元素和一个不可见的左边框。

当我取出borderRadius对象时,子Text和绿色左边框可见,但引入它再次隐藏了左边框和子Text。

主要问题似乎是自定义左边框,因为使用 border: Border.all(width: 0)borderRadius: BorderRadius.circular(10)根据需要使边缘变圆并显示 child 。但是现在我无法应用在这个特定设置中非常重要的绿色左边框。

那么我做错了什么,或者这是 flutter 中的错误,还是只是不允许的事情?

先感谢您。

编辑:下图是最终结果。颜色不重要

This is how it should look

最佳答案

不可能同时添加 border: 和 borderRadius: ,你会得到这个错误:

A borderRadius can only be given for uniform borders.



您可以使用 borderRadius: 和 boxShadow: 而不是 border: 来实现您想要的效果,如下所示:
boxShadow: [
BoxShadow(color: Colors.green, spreadRadius: 3)
]

您的示例代码如下所示:
Container(
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
boxShadow: [
BoxShadow(color: Colors.green, spreadRadius: 3),
],
),
height: 50,
),

编辑:要实现您现在提供的示例,您可以执行以下操作:
Container(
padding: EdgeInsets.only(left: 12.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.green,
),
height: 50,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(10.0),
bottomRight: Radius.circular(10.0)),
color: Colors.white,
),
child: Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
),
),
),

另一种解决方案:
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.white,
),
height: 50,
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
width: 12.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0),
bottomLeft: Radius.circular(10.0)),
color: Colors.green,
),
),
Text(
'This is a Container',
textScaleFactor: 2,
style: TextStyle(color: Colors.black),
)
],
),
),

关于flutter - 在 Flutter 中使用 borderRadius 为容器添加边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58350235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com