флаттер - как нарисовать линию по таймеру на виджете? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть этот виджет:

enter image description here

это его код:

@override
Widget build(BuildContext context) {
return SingleChildScrollView(
    controller: this.scrollController,
    scrollDirection: Axis.horizontal,
    child: Row(
        children: getItems()));
}

List<Widget> getItems() {
var items = List<Widget>();

for( var i = 0 ; i <= 20; i=i+1 ) {
   var curr = Padding(
    padding: const EdgeInsets.symmetric(horizontal: 8.0),
    child: Text(i.toString(), 
      style: textStyle,
      textAlign: TextAlign.center,
    ),
  );
  items.add(curr);
}
return items;

}

У меня есть этот таймер:

Timer _timer;

@override
void initState() {
_timer =Timer.periodic(Duration(seconds: 3), (Timer t) => setState((){
 super.initState(); 
}));

Мне нужно отображать линию на моем виджете каждую секунду: start - рисовать на 0, 1 se c - рисовать на 1 (ведущая линия удаляется) 2 se c - ничья на 2 (ведущая линия удалена)
и др. c.

Пример:

start - enter image description here

1 se c - enter image description here

2 se c - enter image description here

Мне нужно " демонстрация времени ". это движение индикатора (линии) слева направо. Вероятно, анимация будет делать.

что вы посоветуете? Буду благодарен за любые советы.

...