Tablo

Grid, iki boyutlu bir düzeni esnek bir şekilde uygulamanıza olanak tanıyan bir Jetpack Compose API'sidir. Bu API ile öğeleri, mevcut kapsayıcı boyutuna uyum sağlayan çok sütunlu veya çok satırlı düzenlerde görüntüleyebilirsiniz.

Izgara ile esnek ve uyarlanabilir iki boyutlu düzen
Şekil 1. Grid ile esnek ve uyarlanabilir iki boyutlu bir düzen.

Izgara'nın benzer composable'lardan farkı nedir?

Compose'da LazyVerticalGrid gibi benzer bileşenler zaten mevcuttur. Bu bileşenler, genellikle büyük ve homojen veri kümelerinin görselleştirilmesi için kullanılır. Örneğin, bir video akışı uygulamasında içerik kataloğu görüntülemek için kullanılabilir. Bu bileşenler, bir ekranın veya karmaşık bileşenin yapısal düzeni için tasarlanmamıştır.

Birden fazla Row ve Column bileşenini birleştirerek iki boyutlu bir düzen de uygulayabilirsiniz. Ancak bu yaklaşımın derin hiyerarşiler ve uyum sağlama zorlukları gibi bazı dezavantajları vardır.

Aşağıdaki tabloda, her API için uygun olan düzenlere genel bir bakış sunulmaktadır:

Bileşen Amaç
LazyVerticalGrid, LazyStaggeredGrid, LazyHorizontalGrid Geç yükleme gerektiren büyük, homojen veri kümelerinin görselleştirilmesi.
Row, Column, FlexBox Tek boyutlu düzen
Grid İki boyutlu düzen

Terminoloji

Grid hizmetinin işleyiş şeklini anlamak için aşağıdaki terminolojiyi öğrenin.

Izgara çizgisi

Izgara, yatay ve dikey çizgilerden oluşur. Izgaranızda üç satır varsa son satırdan sonraki çizgi de dahil olmak üzere dört yatay çizgi bulunur. Aşağıdaki resimde her noktalı çizgi bir kılavuz çizgisini temsil eder:

Izgara, dört yatay ve üç dikey çizgiden oluşur.
Şekil 2. Izgara, dört yatay ve üç dikey çizgiden oluşur.

Izgara izi

Izgara kanalı, iki ızgara çizgisi arasındaki boşluktur. Satır kanalı iki yatay çizgi arasında, sütun kanalı ise iki dikey çizgi arasındadır. Bu kanalların boyutunu tanımlamak için ızgarayı oluştururken bunlara bir boyut atayın.

İlk satır için bir ızgara kanalı.
Şekil 3. İlk satır için bir ızgara kanalı.

Tablo hücresi

Izgara hücresi, bir satır ve sütun yolunun kesişimidir.

İkinci satır ile ikinci sütunun kesiştiği bir ızgara hücresi.
Şekil 4. İkinci satır ile ikinci sütunun kesiştiği bir ızgara hücresi.

Izgara alanı

Izgara alanı, birkaç ızgara hücresinden oluşur. Bir öğenin birden fazla kanalı kapsamasını sağlayarak bir ızgara alanı tanımlayabilirsiniz.

Dört ızgara hücresinden oluşan bir ızgara alanı.
5. şekil. Dört ızgara hücresinden oluşan bir ızgara alanı.

Izgara boşluğu

Izgara boşluğu, ızgara kanalları arasındaki boşluktur. Kullanıcı arayüzü öğelerini boşluklara yerleştiremezsiniz ancak boşlukların üzerine yayabilirsiniz.

İlk sütun ile ikinci sütun arasında bir ızgara boşluğu.
6. şekil. İlk sütun ile ikinci sütun arasında bir ızgara boşluğu.