Bir Onay Kutusunu İşaretleme
Coddy'nin Flutter Journey'sinin Etkileşimli Uygulamalar bölümünün bir parçası. Ders 28 / 34.
Bir Checkbox, Switch gibi çalışır: çizilecek bir value: ve setState ile yanıt vereceğin bir onChanged.
Checkbox(
value: _agreed,
onChanged: (bool? value) {
setState(() {
_agreed = value ?? false;
});
},
)Bir farkı var: değeri bir bool ya da null olan bool? türündedir. Bir onay kutusu, burada kullanmayacağın üçüncü bir boş duruma sahip olabilir. _agreed sıradan bir bool olduğundan, int.tryParse ile yaptığın gibi olası bir null değerini ?? kullanarak false'a dönüştür.
Bir onay kutusu çoğu zaman bir düğmeye basılmasını mümkün kılan şeydir: "Kabul ediyorum" seçeneğini işaretle, böylece Devam düğmesi artık gri olmaz.
Görev
Kolay- Onay kutusunu işaretleyip işaretini kaldır: değerini
_agreediçinde sakla. - Kutu işaretlenene kadar
Continuedüğmesini gri gö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> {
bool _agreed = false;
void _continue() {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Welcome!')),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Rules')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Row(
mainAxisSize: MainAxisSize.min,
children: [
Checkbox(
value: _agreed,
onChanged: (bool? value) {},
),
const Text('I agree to the rules'),
],
),
const SizedBox(height: 16),
ElevatedButton(onPressed: _continue, child: const Text('Continue')),
],
),
),
);
}
}
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çmeKendi başına pratik yap: Online Flutter derleyicisi