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)使边缘根据需要变圆并显示孩子。但是现在我无法应用在这个特定设置中非常重要的绿色左边框。
那么我做错了什么,或者这是颤振中的错误,还是只是不允许的事情?
先感谢您。
编辑:下图是最终结果。颜色不重要
我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?或者有没有更好的方法可以实现这一点,我愿意接受建议。谢谢。