Bahşiş Hesaplayıcı: Bahşiş
Coddy'nin Flutter Journey'sinin Etkileşimli Uygulamalar bölümünün bir parçası. Ders 31 / 34.
Sırada bahşiş var. 0 ile 30 yüzde arasında, 5'erlik adımlarla ayarlanan bir Slider bahşişi seçer ve uygulama bu miktarın kaç para olduğunu gösterir.
Yüzdeyi State içinde, başlangıç değeri 10 olan bir double olarak tut. Bahşiş tutarını saklamana gerek yok: bu tutar hesaba ve yüzdeye bağlıdır; bu yüzden build metodunun başında bir final olarak hesapla:
final double tip = _bill * _tipPercent / 100;Giriş alanından veya kaydırıcıdan gelen her setState çağrısı ekranı yeniden oluşturur ve tip yeni değerlerle yeniden hesaplanır.
Görev
Kolay- Fatura alanının altında
Tip: 10%göster ve başlangıç değeri 10 olan,0ile30arasında6bölmeli birSlidergöster. - Kaydırıcının altında, fatura tutarı 40 olan bir hesaplama için iki ondalık basamakla
Tip amount: 4.00göster.
Kendin dene
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)}'),
],
),
),
);
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Etkileşimli Uygulamalar bölümündeki tüm dersler
7Anahtarlar ve Kaydırıcılar
Bir Anahtarla Açıp KapatmaBir Onay Kutusunu İşaretlemeKaydırıcıyla Bir Değer Seçme5Karar Yapıları
bool ve ?: Operatörüif ve else ile Karar VermeDart'ta Ve, Veya ve DeğilBir Widget'ı Gösterme ve GizlemeBir Düğmeyi Pasifleştirme8Proje: Bahşiş Hesaplayıcı
Bahşiş Hesaplayıcı: HesapBahşiş Hesaplayıcı: BahşişKendi başına pratik yap: Online Flutter derleyicisi