Последние штрихи в моем первом мобильном приложении Flutter. Еще одно важное задание: моя плавающая кнопка действия отображается на верхней панели приложения для каждой страницы, но я хотел бы, чтобы ее статус изменялся (включен / отключен) в зависимости от текущей страницы. Это возможно? Если да, то будут очень признательны за любые учебные пособия, ресурсы, справочные материалы и / или примеры кода, подходящие для новичков. Спасибо!
Плавающая кнопка действия Flutter с динамическим статусом
Ответы (1)
Отлично, вы можете использовать Visibility:
floatingActionButton: Visibility(
child: FloatingActionButton(...),
visible: false, // set it to false
)
В качестве альтернативы вы можете использовать NotificationListener (более элегантный, но сложный).
Пожалуйста, проверьте этот пример из другой публикации
Изменить: возможно, управлять им непосредственно в onPressed. Согласно официальным документам:
Если обратный вызов onPressed имеет значение null, кнопка будет отключена и по умолчанию будет напоминать плоскую кнопку в disabledColor.
FloatingActionButton(
onPressed: shouldButtonBeDisabled() ? null : () => whatToDoOnPressed,
child: Text('blablabla')
);
person
vinipx
schedule
24.06.2020
Спасибо за предложение! .. Я обязательно воспользуюсь этим однажды. Но не для этого проекта, я не думаю; поскольку я хочу, чтобы кнопка оставалась видимой, просто неактивной. хотя ваше предложение напоминает мне, что визуальные подсказки важны для пользовательского интерфейса; если моя кнопка остается видимой И выглядит так же, она может быть неправильно истолкована как «сломанная» на отключенной странице. поэтому я думаю, что изменение цвета и / или непрозрачности - это то, что нужно моему решению, так как оно останется видимым. Благодарность
- person codeNameRayven; 25.06.2020
Edit добавил одно новое предложение. Проверьте, есть ли в этом смысл.
- person vinipx; 25.06.2020
Это может сработать. То есть для опытного программиста, наверное, определенно. Могу я это сделать? .. Это другой вопрос, целиком, лол. Но вроде достаточно просто, всего 3 строчки .. это плюс; я попробую как можно скорее .. следите за обновлениями. Спасибо!
- person codeNameRayven; 25.06.2020