bazı widgetlara child eklerken bazılarına eklemiyoruz sebebi ne açıklayabilecek var mı

  • Flutter replied to this.
    • samil Mantık olarak doğru. Orada neden AppBar() bekliyor diyorsunuz. Ama AppBar widgetinin arkasına bakarsanız bizim yapmadığımız bir sürü işlemi default yapıyor. Biz elle de appbar oluşturabilir miyiz ? ben oluşturuyorum 😃 Hemde daha sorunsuz ve kısıtlamasız

    samil Merhaba hocam,
    örnek vererek gidelim isterseniz
    örneğin Icon() wifget’ına child eklemiyoruz çünkü bizden tek bir geri dönüş bekliyoruz. icon. Veya Text() widgeti. Buda tek bir sonuç bekliyor. Ama container() widgetini düşününü. Sizin için ekranda bir alan kaplıyor ve buraya ne koyarsan koy, karar senin diyor.İşte burada devreye child giriyor. Örnek olarak: Container(childer:Text(“flutter forum”) yazdığınızda diyorsunuz ki benim yazdığım text Conatiner’ın çocuğu.(child) ama flutter forum yazısı sadece bir metin ve text ile ekrana yazdırılmış. Özetle durum bu 🙂

    Flutter cevap için teşekkürler 🙂 dediğinizi anladım. Bazı wigetlar’ın içinde widget ekliyoruz mesela container widget’ına row ekleyeceğiz bunun için de child kullanıyoruz anladığım kadarıyla. Yani child bir widget’ın içine başka bir widget eklemek için kullanılır diyebiliriz miyiz? Ama bildiğim kadarıyla bazen de widget’ın içine widget eklemek için child kullanmadan da yapabiliyoruz şu an örnek yazamadım bunun için ama anlamışsınızdır umarım

    samil Doğru anlamışsınız. Bahsettiğiniz senaryo da doğru ama orada dediğim gibi tek bir seçenek vardır. Mesela buraya icon gelecek arkadaş der sana 🙂

      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?

      samil Sorunuz üzerinden soru sorayım
      ben orada appBar: AppBar(title: Text(“örnek”) demesem appbar alanında nasıl gözükecek? her biri için manuel mi ayarlamalıyım ?

      Flutter işte buradaki “appBar” sadece bir parametre isminden ibaret değil mi. Yani şu şekilde tanımlasalardı AppBar türünden child adlı bir parametre o zaman child: appBar yollardık bu da ekranda gerekli görüntüyü yine sağlardı sanırsam

      samil Hocam çeşitli senaryolarda durum değişir ama burada child yerine appbar kullanımlasının nedeni bizden widget olarak abbpar istemesi.
      Diğer türlü appbar yerine farklı şeyler koyulurdu. Bunu yapmak isteyen zaten appbar kullanmıyor.

      samil Mantık olarak doğru. Orada neden AppBar() bekliyor diyorsunuz. Ama AppBar widgetinin arkasına bakarsanız bizim yapmadığımız bir sürü işlemi default yapıyor. Biz elle de appbar oluşturabilir miyiz ? ben oluşturuyorum 😃 Hemde daha sorunsuz ve kısıtlamasız

      Flutter anladım tamamdır teşekkürler 😃 iyiyimiş inşallah o seviyeye gelirim ben de 🙂

      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.

      Write a Reply...