Bir Anahtarla Açıp Kapatma
Coddy'nin Flutter Journey'sinin Etkileşimli Uygulamalar bölümünün bir parçası. Ders 27 / 34.
Switch, telefon ayarlarından bildiğin açma kapama düğmesidir. Bir bool değeri gösterir ve biri düğmeyi değiştirdiğinde sana bildirir:
Switch(
value: _wifi,
onChanged: (bool value) {
setState(() {
_wifi = value;
});
},
)value:, düğmenin nasıl çizileceğini belirler: true için açık, false için kapalı. Düğmeye dokunulduğunda onChanged yeni değeri alır.
Anahtar kendi kendine hareket etmez. Dokunma yalnızca onChanged'i çağırır; yeni değeri setState ile kaydedersin, ekran yeniden oluşturulur ve anahtar yeni konumunda çizilir. Bunu unutursan anahtar, her dokunuşunda eski konumuna geri döner.
Görev
Kolay- Anahtarın çalışmasını sağla: yeni değeri
setStateile_darkiçine kaydet. - Koyu mod açıkken
ScaffoldiçinColors.black, kapalıykenColors.whitedeğerinibackgroundColorolarak ayarla. Etiketin rengi zaten değişiyor.
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 _dark = false;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(title: const Text('Settings')),
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
'Dark mode',
style: TextStyle(fontSize: 20, color: _dark ? Colors.white : Colors.black),
),
const SizedBox(width: 12),
Switch(
value: _dark,
onChanged: (bool value) {},
),
],
),
),
);
}
}
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