如何在容器上更改一个边框并保持borderRadius?

时间:2019-09-20 15:01:15

标签: flutter flutter-layout

我正在尝试创建一个容器,该容器的左侧为黄色边框,而其余部分为灰色,并保持borderRadius。我试图将其用作下拉菜单的容器,因为我无法直接在该控件上创建边框。

它应该是这样的: enter image description here

在BoxDecoraction上,我使用Border()方法指定左边框颜色。

                     Container(
                        width: 400,
                        margin: EdgeInsets.only(top: 20),
                        padding: EdgeInsets.only(left: 10),
                        decoration: BoxDecoration(
                          border: Border(
                            left: BorderSide(
                                color: Color.fromRGBO(255, 167, 38, 1),
                                width: 5),
                            right: BorderSide(
                                width: .5,
                                color: Color.fromRGBO(116, 102, 102, .5)),
                            top: BorderSide(
                                width: .5,
                                color: Color.fromRGBO(116, 102, 102, .5)),
                            bottom: BorderSide(
                                width: .5,
                                color: Color.fromRGBO(116, 102, 102, .5)),
                          ),
                           borderRadius: BorderRadius.all(Radius.circular(10))
                        ),

但是,如果我随后尝试使用borderRadius,则会引发错误并且无法渲染。看来,如果我使用Border()并直接指定边,它会损坏,但是如果我使用border.all(),它将起作用。 如何设置borderRadius,但左边框的宽度/颜色仍然不同?

如何解决?

1 个答案:

答案 0 :(得分:0)

您可以使用class Player { public string Name { get; set; } public int Age { get; set; } public Dictionary<int, string> Items { get; set; } public float Damage { get; set; } public float Health { get; set; } public Player(string Name, int Age) { this.Name = Name; this.Age = Age; this.Items = new Dictionary<int, string>(); this.Damage = 0; this.Health = 20; } public void AddItems(int key, string item) { this.Items.Add(key, item); } }

此解决方案的代码:

ClipRRect

这些也可能有用:

https://api.flutter.dev/flutter/widgets/ClipRRect-class.html

https://www.youtube.com/watch?v=eI43jkQkrvs