- Stepper – это виджет, отображающий ход выполнения последовательности шагов.
- Пошаговые операции особенно полезны в случае форм, где один шаг требует выполнения другого или когда необходимо выполнить несколько шагов, чтобы отправить всю форму.
- Flutter stepper поможет вам провести пользователя через процесс, предусмотренный приложением, например платежный шлюз, где мы шаг за шагом собираем данные пользователя, а затем совершаем транзакции.
Полный исходный код
main.dart
импортировать ‘package:flutter/material.dart’;
пустая функция() {
запустить приложение (Мое приложение ());
}
класс MyApp расширяет StatelessWidget {
@переопределить
Сборка виджета (контекст BuildContext) {
вернуть MaterialApp(
название: «Шаговое приложение»,
// Домой
дом: мой дом ()
);
}
}
класс MyHome расширяет StatefulWidget {
@переопределить
MyHomeState createState() => MyHomeState();
}
класс MyHomeState расширяет State‹MyHome› {
// инициируем шаг в 0-ю позицию
интервал текущий_шаг = 0;
Список‹Шаг› my_steps = [
Шаг(
// Название шага
title: Text("Скачать приложение"),
содержимое: текст («Приложение Play Store»),
активен: правда),
Шаг(
title: Text("Установить приложение"),
содержимое: Текст("Установка..."),
состояние: StepState.indexed,
активен: правда),
Шаг(
title: Text("Выберите приложение"),
содержание: текст («Facebook»),
активен: правда),
Шаг(
title: Text("Оплатить"),
content: Text("Введите данные транзакции..."),
активен: правда),
Шаг(
title: Text("Выйти из приложения!!!"),
content: Text("Покупка успешно завершена"),
активен: правда),
];
@переопределить
Сборка виджета (контекст BuildContext) {
вернуть эшафот(
// панель приложений
панель приложения: панель приложения (
// Заголовок
title: Текст («Степпер»),
),
// Тело
тело: Контейнер(
ребенок: Степпер(
текущий шаг: this.current_step,
шаги: мои_шаги,
тип: StepperType.vertical,
onStepTapped: (шаг) {
setState (() {
текущий_шаг = шаг;
});
print("onStepTapped: " + step.toString());
},
onStepCancel: () {
setState (() {
если (текущий_шаг › 0) {
текущий_шаг = текущий_шаг — 1;
} еще {
текущий_шаг = 0;
}
});
print("onStepCancel : " + current_step.toString());
},
onStepContinue: () {
setState (() {
если (текущий_шаг ‹ мои_шаги.длина — 1) {
текущий_шаг = текущий_шаг + 1;
} еще {
текущий_шаг = 0;
}
});
print("onStepContinue: " + current_step.toString());
},
)),
);
}
}
Исходный код: - https://codeswithsunny.blogspot.com/2021/09/stepper-in-flutter.html