Grid to interfejs API Jetpack Compose, który umożliwia elastyczne wdrażanie układu dwuwymiarowego.
Ten interfejs API umożliwia wyświetlanie elementów w układach wielokolumnowych lub wielorzędowych, które dostosowują się do dostępnego rozmiaru kontenera.
Grid.
Czym komponent Grid różni się od podobnych komponentów?
Compose oferuje już podobne komponenty, takie jak LazyVerticalGrid.
Te komponenty służą głównie do wizualizacji dużych, jednorodnych zbiorów danych, np. do wyświetlania katalogu treści w aplikacji do strumieniowego przesyłania wideo. NIE są one przeznaczone do układu strukturalnego ekranu ani złożonego komponentu.
Możesz też wdrożyć układ dwuwymiarowy, łącząc kilka funkcji kompozycyjnych Row i Column.
Takie podejście ma jednak pewne wady, takie jak głębokie hierarchie i trudności z dostosowaniem.
Tabela poniżej zawiera przegląd układów odpowiednich dla poszczególnych interfejsów API:
| Komponent | Cel |
|---|---|
LazyVerticalGrid, LazyStaggeredGrid, LazyHorizontalGrid |
Wizualizacja dużych, jednorodnych zbiorów danych, które wymagają leniwego ładowania. |
Row, Column, FlexBox |
Układ jednowymiarowy |
Grid |
Układ dwuwymiarowy |
Terminologia
Aby zrozumieć, jak działa Grid, zapoznaj się z tymi terminami:
Linia siatki
Siatka składa się z linii biegnących w pionie i poziomie. Jeśli siatka ma 3 wiersze, ma 4 linie poziome, w tym linię po ostatnim wierszu. Na ilustracji poniżej każda linia przerywana reprezentuje linię siatki:
Ścieżka siatki
Ścieżka siatki to przestrzeń między dwiema liniami siatki. Ścieżka wiersza znajduje się między 2 liniami poziomymi, a ścieżka kolumny – między 2 liniami pionowymi. Aby określić rozmiar tych ścieżek, przypisz im rozmiar podczas tworzenia siatki.
Komórka tabeli
Komórka siatki to punkt przecięcia ścieżki wiersza i ścieżki kolumny.
Obszar siatki
Obszar siatki składa się z kilku komórek siatki. Obszar siatki możesz zdefiniować, sprawiając, że element będzie obejmował wiele ścieżek.
Odstęp między komórkami siatki
Odstęp siatki to przerwa między ścieżkami siatki. Nie możesz umieścić elementu interfejsu w luki, ale możesz go rozciągnąć na całą lukę.