Как отобразить снэк-бар бесконечной длительности во флаттере? - PullRequest
0 голосов
/ 09 ноября 2019

Я создал проект флаттера в андроид-студии и пытался показывать снэк-бар бесконечной продолжительности. Это мой код

 final snackBar = SnackBar(
    content: Text('Cart:'+countProducts.toString()+" Products($countCost:sum)",style: TextStyle(color: Colors.black),),
      shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.only(topLeft:Radius.circular(22),topRight:Radius.circular(22))),
    backgroundColor: Colors.white70,
    action: SnackBarAction(
      textColor: Colors.blueAccent,
      label: "Buy",
      onPressed: () {
        // Some code to undo the change.
      },
    ),
  );

  Scaffold.of(context).showSnackBar(snackBar);

Есть еще одна кнопка, которая изменит текст снэк-бара. Но я не хочу, чтобы его распустили обратно. Так как отображать снэк-бар бесконечной длительности в флаттер

1 Ответ

0 голосов
/ 09 ноября 2019

Вы можете использовать свойство Duration на снэк-баре

Пример

final snackBar = SnackBar(
    content: Text('Cart:'+countProducts.toString()+" Products($countCost:sum)",style: TextStyle(color: Colors.black),),
      shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.only(topLeft:Radius.circular(22),topRight:Radius.circular(22))),
    backgroundColor: Colors.white70,
    action: SnackBarAction(
      textColor: Colors.blueAccent,
      label: "Buy",
      onPressed: () {
        // Some code to undo the change.
      },
    ),
   duration: Duration(seconds: double.infinity),
  );

, используя Duration(seconds: double.infinity)

Не уверен, что это лучший вариант.

РЕДАКТИРОВАТЬ

Вы можете попробовать следующее вместо использования double.infinity

Duration(days: 365)

Ссылка

...