Trinkgeldrechner: Das Trinkgeld
Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 31 von 34.
Als Nächstes das Trinkgeld. Ein Slider von 0 bis 30 Prozent in Schritten von 5 legt es fest, und die App zeigt an, wie viel Geld das ist.
Speichere den Prozentsatz im State als double, beginnend bei 10. Den Trinkgeldbetrag speicherst du nicht: Er ergibt sich aus der Rechnung und dem Prozentsatz. Berechne ihn daher oben in build als final:
final double tip = _bill * _tipPercent / 100;Jedes setState – vom Eingabefeld oder vom Slider – baut den Bildschirm erneut auf, und tip wird mit den neuen Werten erneut berechnet.
Aufgabe
Einfach- Zeige unter dem Rechnungsbetrag
Tip: 10%und einenSlidervon0bis30mit6Unterteilungen an, der bei 10 beginnt. - Zeige unter dem Slider bei einem Rechnungsbetrag von 40
Tip amount: 4.00mit zwei Dezimalstellen 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> {
double _bill = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Tip Calculator')),
body: Padding(
padding: const EdgeInsets.all(24),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextField(
keyboardType: const TextInputType.numberWithOptions(decimal: true),
decoration: const InputDecoration(
labelText: 'Bill',
border: OutlineInputBorder(),
),
onChanged: (String value) {
setState(() {
_bill = double.tryParse(value) ?? 0;
});
},
),
const SizedBox(height: 8),
Text('Bill: ${_bill.toStringAsFixed(2)}'),
],
),
),
);
}
}
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 ausgrauen8Projekt: Trinkgeldrechner
Trinkgeldrechner: Die RechnungTrinkgeldrechner: Das TrinkgeldÜbe selbstständig: Online-Flutter-Compiler