我在创建Container(),我给了它一个边框,但如果有圆形边框就更好了。

这是我现在拥有的:

Container(
      width: screenWidth / 7,
      decoration: BoxDecoration(
        border: Border.all(
          color: Colors.red[500],
        ),
      ),
      child: Padding(
        padding: EdgeInsets.all(5.0),
        child: Column(
          children: <Widget>[
            Text(
              '6',
              style: TextStyle(
                  color: Colors.red[500],
                  fontSize: 25),
            ),
            Text(
             'sep',
              style: TextStyle(
                  color: Colors.red[500]),
            )
          ],
        ),
      ),
    );

我试着把ClipRRect放在上面,但那把边界剪掉了。有解决办法吗?


当前回答

它可以通过许多不同的方式来实现。

如果你有一个简单的圆角来实现使用ClipRRect, ClipOval 如果你想对圆角有更多的控制,使用容器内的BoxDecoration

ClipRRect

 ClipRRect(
    borderRadius: BorderRadius.circular(20),
    child: Container(height: 100, width: 100, color: Colors.orange)),

剪辑椭圆形

ClipOval(
    child: Container(height: 100, width: 100, color: Colors.orange)),

BoxDecoration

跨越所有的角落

 Container(
   decoration: BoxDecoration(
   borderRadius: BorderRadius.circular(10),
   color: Colors.orange),
   height: 100,
   width: 100,
 );

在某一特定角落的边界

 Container(
    decoration: const BoxDecoration(
      borderRadius: BorderRadius.only(
       topLeft: Radius.circular(40),
       bottomRight: Radius.circular(40)),
      color: Colors.orange),
    height: 100,
    width: 100,
 ),

在特定轴上的边界

  Container(
    decoration: const BoxDecoration(
      borderRadius: BorderRadius.horizontal(
        right: Radius.circular(60),
        ),
      color: Colors.orange),
    height: 100,
    width: 100,
  );

其他回答

Container(
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(20.0),
      border: Border.all(
        color: HexColor('#C88A3D'),
        width: 3.0
      )
    ),
    child: Container(
      decoration: new BoxDecoration(borderRadius:
      BorderRadius.circular(20.0),
      color: Colors.white,),
    )
  ),

只需简单地使用圆形形状:BoxShape。圆圈在BoxDecoration。 所有的代码都像这样

Container(
  decoration: BoxDecoration(
    shape: BoxShape.circle
  ),
)

只要把这个放在集装箱里

Container(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.all(Radius.circular(30))
  ),
)

它可以通过许多不同的方式来实现。

如果你有一个简单的圆角来实现使用ClipRRect, ClipOval 如果你想对圆角有更多的控制,使用容器内的BoxDecoration

ClipRRect

 ClipRRect(
    borderRadius: BorderRadius.circular(20),
    child: Container(height: 100, width: 100, color: Colors.orange)),

剪辑椭圆形

ClipOval(
    child: Container(height: 100, width: 100, color: Colors.orange)),

BoxDecoration

跨越所有的角落

 Container(
   decoration: BoxDecoration(
   borderRadius: BorderRadius.circular(10),
   color: Colors.orange),
   height: 100,
   width: 100,
 );

在某一特定角落的边界

 Container(
    decoration: const BoxDecoration(
      borderRadius: BorderRadius.only(
       topLeft: Radius.circular(40),
       bottomRight: Radius.circular(40)),
      color: Colors.orange),
    height: 100,
    width: 100,
 ),

在特定轴上的边界

  Container(
    decoration: const BoxDecoration(
      borderRadius: BorderRadius.horizontal(
        right: Radius.circular(60),
        ),
      color: Colors.orange),
    height: 100,
    width: 100,
  );

你可以这样用。如果你想要边界的所有角落,你可以使用波纹管。

Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.all(
      Radius.circular(12.0),
    ),
  ),
),

如果你想为选定的边设置圆角边框,你可以像下面这样使用。

Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(10),
      topRight: Radius.circular(10),
    ),
  ),
  child: Text('Text'),
),