Entscheidungen mit if und else
Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 18 von 34.
if führt Code nur aus, wenn etwas wahr ist. else führt anderen Code aus, wenn es nicht wahr ist:
if (_count < 10) {
_count++;
} else {
print('Full');
}Was in den Klammern steht, ist ein Vergleich, der ein boolescher Wert ist: wahr oder falsch.
a == b: a ist gleich b (zwei Gleichheitszeichen; eines dient dazu, einer Variable einen Wert zuzuweisen)a != b: a ist nicht gleich ba < bunda > b: kleiner als, größer alsa <= bunda >= b: kleiner oder gleich, größer oder gleich
Achte auf den Grenzfall: Bei 8 Gläsern ist _glasses < 8 falsch, aber _glasses <= 8 ist weiterhin wahr und lässt ein neuntes Glas durch.
Innerhalb der Klasse State ist context in jeder Methode verfügbar, nicht nur in build, sodass eine Methode auch eine SnackBar anzeigen kann.
Aufgabe
EinfachAcht Gläser Wasser am Tag sind genug. Ändere _drink so, dass ein Glas nur hinzugefügt wird, solange es weniger als 8 sind. Andernfalls zeigt die Funktion eine SnackBar mit dem Text That is enough for today an.
Probier es selbst
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')),
],
),
),
);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Apps interaktiv gestalten
1Schaltflächen
Deine erste SchaltflächeIn der Konsole ausgebenText- und umrandete SchaltflächenSymbol-SchaltflächenDer Floating Action Button7Schalter und Schieberegler
Ein und aus mit einem SchalterEin Kästchen ankreuzenEinen Wert mit einem Schieberegler auswählen5Entscheidungen
bool und der ?: OperatorEntscheidungen mit if und elseAnd, Or und Not in DartEin Widget ein- und ausblendenEinen Button ausgrauenÜbe selbstständig: Online-Flutter-Compiler