child mantığı
Ben de kendimce bir ekleme yapayım. Aslında UI oluştururken widget ağacı oluşturuyoruz ya, ağacı aşağı doğru dallandırmak için child kullanıyoruz. Basitçe bir child, bir dal demek gibi düşünebiliriz. Bazı Widgetlar birden fazla alt dala sahip olabiliyor, o yüzden child’ın çoğulu children veriliyor. Örn: row,column,stack.. Flutter Inspectoru sık kullanmaya başlarda alışmak gerekiyor, orada yapı kendini gösteriyor.
KodPlanet teşekkür ederim. benim anlamadığım kısım şu; bir widget’a widget eklerken bazen child diyerek ekliyoruz bazen ise o widget’ın parametresini kullanarak ekliyoruz. Mesela Scaffold(appBar: AppBar(title: Text(“örnek”)),
“AppBar” bir widget bunu Scaffold widget’ına eklerken “appBar” parametresi kullandık, “appBar” parametresi yerine neden child demedik? bu da bir dallanma değil mi sonuçta. Benim anladığım kadarıyla bunu o widget’ın constructor’ını yazanlar o şekilde yapmış. Constructorda (AppBar child) yani AppBar widget’ı türünden child adlı bir parametre diye tanımlasalardı orada appBar: AppBar yerine child: AppBar kullanacaktık. Doğru mu düşünüyorum?
Flutter hocam şimdi aklıma bir soru daha takıldı Scaffold’un içinde appBar: AppBar() yazıyoruz. Ben Scaffold sınıfının dosyasına baktım constructor’ında evet appBar diye bir parametre var ve bunu this.appBar diyerek sınıftaki appBar’a eşitliyor mantık olarak ama ben bu appBar’ı bulamadım ve bu appBar’ın değişkenin türü ne olmalı biraz kafam yandı orda yani tam olarak oturtturamadım kafamda mantığını
samil appbar bir tür değil o da bir widget. Hazır bir widget. Text gibi listview gibi. Scaffold içinde appbar: dediğimiz zaman bizden appbar değil bir widget bekliyor yine. Child gibi. Scaffold bunu ayrı alıyor ki ne gönderirsen gönder ben bunu sayfanın en başına koyacam diyor. İster Appbar gönder ister Stack ister Container gönder. Appbar widgeti hazır kullanım. Kendiniz de bi container içine row atıp içine text Iconbutton vs atarak appbar oluşturabilirsiniz. Scaffold sadece sayfanın başına koymakda kolaylık olsun diye appbar, body vs şeklinde ayırmış. Temelde hepasi widget.
Yani bir düzeltme yapayım. Scaffold Appbar türünde child beklemiyor. Widget türünde appbar bekliyor.
Bence böyle konuların tartışılması faydalı oluyor
@HseyinAkkaya @samil
Ellerinize sağlık
HseyinAkkaya şimdi anladım teşekkürler