@Serega95

Как управлять кнопкой во внешнем виджете во flutter?

Я решил поизучать flutter и столкнулся с некоторым недопониманием.
Идея приложения была простая.

Есть 3 кнопки: "Старт", "Пауза", "Стоп" и при этом они совершенно одинаковые.
При нажатии на "Старт" данная кнопка исчезает и появляются остальные.

Я решил создать базовую кнопку и от неё наследоваться остальным:
class StartButton extends BaseButton {
  StartButton() : super('START', 200.0);
}

class StopButton extends BaseButton {
  StopButton() : super('STOP', 100.0);
}

class PauseButton extends BaseButton {
  PauseButton() : super('PAUSE', 100.0);
}

class BaseButton extends StatelessWidget {
  BaseButton(this._label, this._size);

  final String _label;
  final double _size;

  @override
  Widget build(BuildContext context) => Container(
    width: this._size,
    height: this._size,
    child: RawMaterialButton(
      child: Text(this._label),
      onPressed: () {},
      shape: CircleBorder(),
    ),
  );
}


Но, при таком способе непонятно, как можно управлять нажатием кнопок во внешнем виджете.
Подскажите, пожалуйста, как лучше действовать в такой ситуации.
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
@KnightForce
Держи состояние во внешнем виджете.
И показывай кнопки в зависимости от него.
Колбэк нажатия передавай аргументом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы