Jetpack Compose Academy · Lekcja

weight i elastyczne rozmiary

Rozdzielaj przestrzeń proporcjonalnie w wierszach i kolumnach

Lekcja 4 z 413 kroki

weight i elastyczne rozmiary to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 4 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.

Elastyczna przestrzeń

Czasami elementy podrzędne powinny dzielić przestrzeń, zamiast przyjmować stałe rozmiary. Modyfikator weight dzieli pozostałe miejsce proporcjonalnie. ⚖️

Gdzie działa weight

weight działa tylko wewnątrz elementu Row lub Column. Należy do zakresu układu udostępnianego elementom podrzędnym przez te kontenery.

Równy podział

Nadaj dwóm elementom podrzędnym taki sam weight, a podzielą przestrzeń po równo, zajmując po połowie dostępnego miejsca.

Box(Modifier.weight(1f))
Box(Modifier.weight(1f))

Nierówny podział

Wagi są proporcjami. Element podrzędny z weight(2f) otrzyma dwa razy więcej miejsca niż element sąsiedni z weight(1f).

Box(Modifier.weight(2f))
Box(Modifier.weight(1f))

Stały i elastyczny rozmiar

Połącz oba podejścia: nadaj jednemu elementowi stały rozmiar, a drugiemu pozwól użyć weight, aby zajął pozostałą przestrzeń.

Box(Modifier.width(80.dp))
Box(Modifier.weight(1f))

Przesuwanie do krawędzi

Pojedynczy weight na elemencie pełniącym funkcję odstępnika działa jak wypychacz, przesuwając kolejny element aż do przeciwległego końca wiersza.

Text("Left")
Spacer(Modifier.weight(1f))
Text("Right")

Wagi są obliczane jako pierwsze

Compose najpierw mierzy elementy stałe, a następnie dzieli pozostałą przestrzeń między elementy z wagą. Dlatego weight potrzebuje elementów sąsiednich, względem których może rozdysponować miejsce.

Flaga fill

Domyślnie element podrzędny z wagą wypełnia przydzieloną mu przestrzeń. Przekaż fill = false, aby mógł pozostać mniejszy od przydzielonego obszaru.

Modifier.weight(1f, fill = false)

Kolumny z wagami

Ta sama zasada działa w pionie. W elemencie Column weight dzieli pozostałą wysokość zamiast szerokości.

Column {
  Box(Modifier.weight(1f))
  Box(Modifier.weight(1f))
}

Responsywność z założenia

Ponieważ wagi są proporcjami, układ płynnie dopasowuje się do szerokości telefonu i tabletu bez używania wartości wpisanych na sztywno.

Typowy wzorzec

Etykieta po lewej i wartość wypełniająca resztę: wiersz z wagami to klasyczny sposób tworzenia przejrzystych ustawień i wierszy list.

Row {
  Text("Name")
  Text("Sam", Modifier.weight(1f))
}

Szybkie sprawdzenie

Dwa elementy podrzędne znajdują się w elemencie Row i mają odpowiednio weight(3f) oraz weight(1f). Jak zostanie podzielona przestrzeń?

Podsumowanie

Potrafisz teraz elastycznie dzielić przestrzeń. weight dzieli pozostałe miejsce według proporcji wewnątrz elementów Row i Column, umożliwiając tworzenie responsywnych układów. 🎯

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 „weight i elastyczne rozmiary” jest bezpłatna?

Tak — pełny tekst „weight i elastyczne rozmiary” 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 „weight i elastyczne rozmiary”?

Rozdzielaj przestrzeń proporcjonalnie w wierszach i kolumnach Ć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 4 z 4.

Ile czasu zajmuje lekcja „weight i elastyczne rozmiary”?

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. Padding, rozmiar i fillMaxWidth
  2. Tło, obramowanie i przycinanie
  3. Dlaczego kolejność modyfikatorów ma znaczenie
  4. weight i elastyczne rozmiary
← Powrót do Jetpack Compose Academy