Decisioni con if ed else
Fa parte della sezione Rendere l’app interattiva del percorso Flutter di Coddy. Lezione 18 di 34.
if esegue il codice solo quando una condizione è vera. else esegue altro codice quando non lo è:
if (_count < 10) {
_count++;
} else {
print('Full');
}Ciò che va tra parentesi è un confronto, che è un valore bool: true o false.
a == b: a è uguale a b (due segni di uguale; uno serve per assegnare un valore a una variabile)a != b: a non è uguale a ba < bea > b: minore di, maggiore dia <= bea >= b: minore o uguale a, maggiore o uguale a
Fai attenzione al limite: con 8 bicchieri, _glasses < 8 è false, ma _glasses <= 8 è ancora true e lascia passare un nono bicchiere.
All'interno della classe State, context è disponibile in ogni metodo, non solo in build, quindi anche un metodo può mostrare uno SnackBar.
Sfida
FacileOtto bicchieri d'acqua al giorno sono sufficienti. Modifica _drink in modo che aggiunga un bicchiere solo quando ce ne sono meno di 8. Altrimenti mostra una SnackBar che dice That is enough for today.
Provalo tu
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int _glasses = 0;
void _drink() {
setState(() {
_glasses++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Water')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text('Glasses today: $_glasses', style: const TextStyle(fontSize: 24)),
const SizedBox(height: 16),
ElevatedButton(onPressed: _drink, child: const Text('Drink a glass')),
],
),
),
);
}
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Rendere l’app interattiva
5Decisioni
bool e l'operatore ? :Decisioni con if ed elseAnd, Or e Not in DartMostrare e nascondere un widgetDisabilitare visivamente un pulsanteEsercitati da solo: Compilatore Flutter online