Grid, iki boyutlu bir düzeni esnek bir şekilde uygulamanıza olanak tanıyan bir Jetpack Compose API'sidir.
Bu API ile, öğeleri kullanılabilir kapsayıcı boyutuna uyum sağlayan çok sütunlu veya çok satırlı düzenlerde gösterebilirsiniz.
Grid ile esnek ve uyarlanabilir iki boyutlu düzen.
Grid'in benzer composable'lardan farkı nedir?
Compose, LazyVerticalGrid gibi benzer bileşenler sunar.
Bu bileşenler, temel olarak büyük ve homojen veri kümelerinin görselleştirilmesi için kullanılır. Örneğin, bir içerik kataloğunu video akışı uygulamasında göstermek için kullanılabilir. Bu bileşenler, ekranın veya karmaşık bileşenlerin yapısal düzeni için tasarlanmamıştır.
Birden fazla Row ve Column composable'ı birleştirerek iki boyutlu bir düzen de uygulayabilirsiniz.
Ancak bu yaklaşımın derin hiyerarşiler ve uyarlanabilirlik zorlukları gibi bazı dezavantajları vardır.
Aşağıdaki tabloda, her API için hangi düzenlerin uygun olduğuna dair genel bir bakış sunulmaktadır:
| Bileşen | Amaç |
|---|---|
LazyVerticalGrid, LazyStaggeredGrid, LazyHorizontalGrid |
Geç yükleme gerektiren büyük ve homojen veri kümelerinin görselleştirilmesi. |
Row, Column, FlexBox |
Tek boyutlu düzen |
Grid |
İki boyutlu düzen |
Terminoloji
Grid özelliğinin nasıl çalıştığını anlamak için aşağıdaki terminolojiyi öğrenin.
Izgara çizgisi
Izgara, yatay ve dikey olarak uzanan çizgilerden oluşur. Izgaranızda üç satır varsa son satırdan sonraki de dahil olmak üzere dört yatay çizgi vardır. Aşağıdaki resimde, her noktalı çizgi bir kılavuz çizgisini temsil eder:
Izgara parçası
Izgara parçası, iki ızgara çizgisi arasındaki boşluktur. Satır parçası iki yatay çizgi arasında, sütun parçası ise iki dikey çizgi arasında yer alır. Bu parçaların boyutunu tanımlamak için kılavuzu oluştururken parçalara boyut atayın.
Tablo hücresi
Izgara hücresi, satır ve sütun izinin kesişimidir.
Izgara alanı
Bir ızgara alanı, birkaç ızgara hücresinden oluşur. Bir öğenin birden fazla parça yayılmasını sağlayarak bir ızgara alanı tanımlayabilirsiniz.
Izgara aralığı
Izgara boşluğu, ızgara parçaları arasındaki oluktur. Bir aralığa kullanıcı arayüzü öğesi yerleştiremezsiniz ancak kullanıcı arayüzü öğesini aralığa yayabilirsiniz.