Во Flutter за таймеры отвечает класс Timer, а за периодический в частности Timer.periodic
Для примера использования, реализуем отчет переменной от 30 до 0:
import 'dart:async';
Timer?_timer; // ? говорит о том, что переменная в начале пути может быть null
int timercount=30;
bool timout_passed=false; //вышел таймаут разблокировки кнопки
...
_timer = Timer.periodic(Duration(seconds: 1), (Timer _) {
if (timercount>0) {
timercount = timercount - 1;
};
if (timercount==0) {
timout_passed=true;
_timer?.cancel(); // закончили отчёт
}
});
Это возможно при использовании класса rootBundle. Для начала необходимо разместить файл в папку проекта. Далее в pubspec.yaml в секцию assets добавить ссылку на файл вида:
Чаще всего такие полоски появляются при появлении экранной клавиатуры в поле ввода или при выходе элементов виджета за видимые поля, например текста. Избежать этого, можно обернув большой виджет в виджет SingleChildScrollView:
Для того, чтобы подсвечивать кнопку разным цветом, в зависимости от введенного текста, добавим флажек phone_is_ok и два стиля оформления, на которые будет переключаться стиль кнопки в зависимости от флажка:
К сожалению нормального решения не из командной строки не нашел. Так что открываем CMD, переходим туда, где лежат папки для удаления и выполняем команду вида: