Bir Widget'ı Gösterme ve Gizleme
Coddy'nin Flutter Journey'sinin Etkileşimli Uygulamalar bölümünün bir parçası. Ders 20 / 34.
Bir widget'ı yalnızca bazen göstermek için, hemen children listesinin içinde, önüne bir if koy:
Column(
children: [
const Text('Question'),
if (_showHint) const Text('A hint'),
],
)_showHint false olduğunda ipucu gizlenmez: listeye hiç eklenmez ve ardından gelen widget'lar boşluğu doldurmak için yukarı kayar. true olduğunda ise ipucu oradadır. Bu if ifadesinde süslü parantez ve else yoktur: bu, widget listesi oluşturmak için kullandığın for gibi, if ifadesinin liste sürümüdür.
Bir şeyi gösterip gizleyen düğme, genellikle ! ile bir bool değerini tersine çevirir ve kendi etiketini ? : ile değiştirir.
Görev
KolayParis yanıtı ekranda her zaman görünüyor. Yalnızca _showAnswer true olduğunda göster. Düğme zaten _showAnswer değerini değiştiriyor; yanıt gizliyken etiketinde Show answer, gösterilirken Hide answer yazmasını sağla.
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 _showAnswer = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Quiz')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Text('What is the capital of France?', style: TextStyle(fontSize: 20)),
const Text('Paris', style: TextStyle(fontSize: 32)),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () {
setState(() {
_showAnswer = !_showAnswer;
});
},
child: const Text('Show answer'),
),
],
),
),
);
}
}
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ştirmeKendi başına pratik yap: Online Flutter derleyicisi