Flutter
AlertDialog
AlertDialog ile başlık, içerik ve aksiyon yapmayı öğrenirsin.
AlertDialog nedir?
AlertDialog, başlık, içerik ve aksiyon butonları içeren bir Material penceresidir. title başlığı, content gövde metnini, actions ise kullanıcı seçeneklerini (örneğin 'Tamam', 'İptal') barındırır.
AlertDialog(
title: Text('Silinsin mi?'),
content: Text('Bu işlem geri alınamaz.'),
actions: [
TextButton(child: Text('İptal'), onPressed: () {}),
TextButton(child: Text('Sil'), onPressed: () {}),
],
)
AlertDialog genellikle showDialog'ın builder'ı içinde döndürülür.
title ve content
AlertDialog'ın title parametresi başlık widget'ını, content parametresi ise gövde widget'ını alır. Her ikisi de genellikle bir Text olur ama başka widget'lar da kullanılabilir. content tek widget alır; birden fazla öğe göstermek için Column gibi bir sarmalayıcı kullanırsın.
AlertDialog(
title: const Text('Bilgi'),
content: const Column(
mainAxisSize: MainAxisSize.min,
children: [Text('Satır 1'), Text('Satır 2')],
),
)
Uygulama AlertDialog kur
PencereButon adında StatelessWidget tanımla. build bir ElevatedButton döndürsün; onPressed içinde showDialog çağrısı yapsın. builder bir AlertDialog döndürsün; title Text('Silinsin mi?'), actions içinde bir TextButton bulunsun ve yazısı 'Tamam' olsun. main içinde 'hazir' yazdır.
Örnek çözümü göster
import 'package:flutter/material.dart';
class PencereButon extends StatelessWidget {
const PencereButon({super.key});
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: () {
showDialog(
context: context,
builder: (_) => AlertDialog(
title: const Text('Silinsin mi?'),
actions: [
TextButton(
onPressed: () {},
child: const Text('Tamam'),
),
],
),
);
},
child: const Text('Aç'),
);
}
}
void main() {
print('hazir');
}
Kendini test et
-
AlertDialog'ın hangi parametresi butonları barındırır?
- padding
- title
- actions
- content
Cevabı göster
actions — actions bir Widget listesi alır; burada TextButton gibi butonlar gösterilir. title başlık, content gövde, padding iç boşluktur; butonları içermez.
-
actions parametresi
AlertDialog(
title: Text('Sil'),
____: [
TextButton(child: Text('Tamam'), onPressed: () {}),
],
)
Cevabı göster
AlertDialog(
title: Text('Sil'),
actions: [
TextButton(child: Text('Tamam'), onPressed: () {}),
],
)
-
AlertDialog parçaları
- title
- başlık widget'ı
- content
- gövde widget'ı
- actions
- buton listesi
- TextButton
- yaygın aksiyon butonu
Sıradaki ders: ScaffoldMessenger