Ana sayfa » Blog » Flutter “RenderBox was not laid out” Hatası Nasıl Çözülür?

Flutter “RenderBox was not laid out” Hatası Nasıl Çözülür?

  • Flutter

Merhabalar bu hatamda Flutter’da ListView.builder kullanırken herkesin sıklıkla karşılaştığı sorunun çözümünü anlatacağım.

Eğer RenderBox was not laid out hatası alıyorsanız bunun sebebi genellikle Colum() içerisine yazdığınız kodlar ile alakalıdır. ListView.builder için bir ekranda kaplayacağı boyutu vermediğiniz için bu hatayı alıyorsunuz.

Çözüm:

Ekranın yatayda tamamamını kaplaması için aşağıdaki kodları kullanabilirsiniz.

Column(
  children: <Widget>[
    Expanded(
      child: ListView(...),
    )
  ],
)

Belli bir yükseklik vermek için aşağıdaki kodları kullanabilirsiniz.

Column(
  children: <Widget>[
    SizedBox(
      height: 200, // constrain height
      child: ListView(),
    )
  ],
)

 

Expanded(
  child:
  ListView.builder(
      padding: const EdgeInsets.all(8),
      itemCount: entries.length,
      itemBuilder: (BuildContext context, int index) {
        return Container(
          height: 50,
          color: Colors.amber[colorCodes[index]],
          child: Center(child: Text('Entry ${entries[index]}')),
        );
      }
  )
  ,
)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir