小编Ric*_*ard的帖子

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

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,
     ),
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

先感谢您。

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

这是它应该看起来的样子

dart flutter flutter-layout

64
推荐指数
4
解决办法
16万
查看次数

有没有办法让 Flutter 的 Timer.periodic 等待函数返回加上固定的持续时间,然后再进入下一个周期?

Timer.periodic通常使用一段时间。这非常适合我当前的用例。

Duration fiveSecs = const Duration(seconds: 5);
new Timer.periodic(fiveSecs, checkChange);

void checkChange(Timer timer) async {
   //do some network calls
}
Run Code Online (Sandbox Code Playgroud)

在这种特殊情况下,我进行的网络调用时间不超过 500 毫秒,并且每 5 秒执行一次就足以满足这些调用返回的任何内容。

现在我想检查新值的频率为 2 秒,但是,根据需要检查的内容,网络调用可能需要几百毫秒到甚至 10 秒不等。我可以给计时器留出很大的余量,并使用大约 20 秒的频率,但在这种情况下,如果可能的话,我什至更喜欢 1 秒的频率。

那么有没有一种方法可以让计时器等待一个函数,并且仍然有一个固定的持续时间,比如 1 秒。那么最多需要的时间是1 second + callback runtime?或者有没有更好的方法可以实现这一点,我愿意接受建议。谢谢。

timer dart flutter

5
推荐指数
2
解决办法
6561
查看次数

标签 统计

dart ×2

flutter ×2

flutter-layout ×1

timer ×1