代码:

Card(
  color: Colors.blue,
  borderOnForeground: false, // doesn't do anything on true also
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(300)),
  child: Container(
    width: 200,
    height: 200,
    color: Color(0x30FF0C5C),
    child: Text(
      "|||||||",
      style: TextStyle(fontSize: 40),
    ),
  ),
)

文件说:



输出:

flutter - 卡片borderOnForeground无法正常工作-LMLPHP

问题:

我希望默认情况下(当borderOnForeground: true时)白色垂直线在蓝色圆圈内,但是它不这样做,也没有将其设置为false。那么borderOnForeground实际上是做什么的呢?

注意:

我知道有很多方法可以使用ClipRRectClipOval等实现我所要求的。我不是在寻找那些解决方案,我只是想知道borderOnForeground是做什么的?

最佳答案

问题是您没有边框(例如CSS中的边框),这就是truefalse看起来相同的原因。要查看区别,请添加粗边框:

shape: RoundedRectangleBorder(
  borderRadius: BorderRadius.all(
    Radius.circular(300.0),
  ),
  side: BorderSide(
    color: Colors.red,
    width: 20.0,
  ),
),

如果您设置了borderOnForeground: false,则该卡子级中位于红色边框下方的部分现在将位于其上方。

关于flutter - 卡片borderOnForeground无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57006761/

10-09 03:23