Jetpack Compose Academy · Lekcja

LazyRow dla karuzel

Zbuduj poziomo przewijaną półkę

Lekcja 2 z 413 kroki

LazyRow dla karuzel to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Jetpack Compose Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Przewijanie w bok

Czasami zawartość powinna przesuwać się w lewo i w prawo, na przykład półka filmów. W takim przypadku należy użyć LazyRow, poziomego odpowiednika LazyColumn. ↔️

Dlaczego nie zwykły Row?

Zwykły Row natychmiast kompiluje każde dziecko i nie obsługuje przewijania. LazyRow przewija się poziomo i tworzy tylko elementy widoczne na ekranie.

Podstawowy LazyRow

Elementy przekazuje się do LazyRow podobnie jak do kolumny, ale są one układane obok siebie zamiast jeden nad drugim.

LazyRow {
    items(movies) { movie ->
        MovieCard(movie)
    }
}

Odstępy między kartami

Karty karuzeli potrzebują odstępów. Należy użyć horizontalArrangement wraz z spacedBy, aby ustawić stałą przestrzeń między kartami.

LazyRow(
    horizontalArrangement = Arrangement.spacedBy(12.dp)
) { }

Wypełnienie na końcach

Należy dodać contentPadding, aby pierwsza karta była częściowo widoczna przy krawędzi, zamiast kończyć się dokładnie na niej.

contentPadding = PaddingValues(horizontal = 16.dp)

Ustalanie rozmiaru każdej karty

Każdemu elementowi karuzeli należy nadać stałą width, aby karty zachowywały jednolity rozmiar podczas przesuwania.

MovieCard(movie, Modifier.width(140.dp))

Fragment następnej karty

Warto pokazać fragment następnej karty, aby zasugerować, że jest ich więcej. Osiąga się to przez ustawienie nieco mniejszej width względem szerokości ekranu.

val cardWidth = screenWidth * 0.8f
MovieCard(movie, Modifier.width(cardWidth))

Nagłówki nad karuzelami

Karuzela zwykle znajduje się pod tytułem. Należy umieścić LazyRow wewnątrz Column, a nad nim dodać nagłówek Text.

Column {
    Text("Trending Now")
    LazyRow { items(movies) { MovieCard(it) } }
}

Zagnieżdżanie w LazyColumn

Ekran główny często zawiera wiele karuzel ułożonych jedna pod drugą. Należy umieścić kilka wierszy LazyRow wewnątrz nadrzędnego LazyColumn, aby utworzyć widok w stylu serwisu Netflix.

LazyColumn {
    items(shelves) { shelf ->
        Shelf(shelf)
    }
}

Każdy wiersz potrzebuje szerokości

Element LazyRow umieszczony wewnątrz LazyColumn automatycznie wypełnia dostępną szerokość. Należy tylko upewnić się, że rodzic udostępnia mu skończoną szerokość, względem której może wykonać pomiar.

Kiedy używać LazyRow

Wybierz LazyRow w przypadku półek, filtrów w postaci chipów, dymków relacji i wszelkich treści, które zachęcają do przesuwania w poziomie zamiast przewijania w dół.

Szybkie sprawdzenie

Pomyśl o przewijaniu w poziomie.

Podsumowanie: karuzele

Zbudował(a) Pan(i) poziome półki za pomocą LazyRow: elementy ustawione obok siebie, odstępy, dopełnienie na końcu, karty o stałej szerokości oraz zagnieżdżanie w kanale treści. 🎬

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „LazyRow dla karuzel” jest bezpłatna?

Tak — pełny tekst „LazyRow dla karuzel” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Jetpack Compose Academy, przejdź na CoddyKit PRO. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „LazyRow dla karuzel”?

Zbuduj poziomo przewijaną półkę Ćwiczysz Jetpack Compose Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Jetpack Compose Academy?

Nie wymagamy żadnego doświadczenia. Jetpack Compose Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „LazyRow dla karuzel”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Jetpack Compose Academy?

Tak. Każda lekcja Jetpack Compose Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Galerie LazyVerticalGrid
  2. LazyRow dla karuzel
  3. Adaptacyjne a stałe komórki siatki
  4. Stan przewijania i przewijanie programowe
← Powrót do Jetpack Compose Academy