Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmStFl 65 of 125 menu
◀ ▶

Флаг и видимость виджета в Flutter

Не только числа хранят в состоянии. Часто нужен простой bool: панель открыта или закрыта, подробности видны или скрыты. В build по значению флага решают, какой виджет вернуть - или используют условие прямо в списке children:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: HomePage())); } class HomePage extends StatefulWidget { const HomePage({super.key}); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { bool showDetails = false; void toggleDetails() { setState(() { showDetails = !showDetails; }); } @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ const Text('Order #104'), if (showDetails) const Padding( padding: EdgeInsets.only(top: 8), child: Text('Delivery tomorrow by 18:00'), ), const SizedBox(height: 16), ElevatedButton( onPressed: toggleDetails, child: Text( showDetails ? 'Hide' : 'More', ), ), ], ), ), ); } }

Сделайте флаг visible и кнопку, которая переключает его. Когда visible истинно, под заголовком показывайте Icon(Icons.check), иначе иконку не рисуйте.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить