Komponent Card działa jako kontener Material Design dla interfejsu.
Karty przedstawiają jeden spójny element treści, np.:
- Produkt w aplikacji zakupowej.
- wiadomość w aplikacji do przeglądania wiadomości;
- wiadomość w aplikacji do komunikacji;
Card różni się od innych kontenerów tym, że skupia się na przedstawieniu pojedynczego elementu treści. Na przykład Scaffold zapewnia ogólną strukturę całego ekranu. Karta to mniejszy element interfejsu użytkownika w większym układzie, podczas gdy komponent układu, taki jak Column lub Row, zapewnia prostsze i bardziej ogólne API.
Z tego tematu dowiesz się, jak wdrażać 4 typy kart:
Zgodność wersji
Ta implementacja wymaga, aby minimalna wersja pakietu SDK projektu była ustawiona na poziom API 21 lub wyższy.
Zależności
Tworzenie karty podstawowej
Card działa podobnie jak inne kontenery w Compose. Deklarujesz jego zawartość, wywołując w nim inne komponenty. Na przykład w tym minimalnym przykładzie funkcja Card zawiera wywołanie funkcji Text:
Tworzenie wypełnionej karty
Kluczową kwestią jest tu użycie właściwości colors do zmiany koloru wypełnienia:
Wyniki
Tworzenie karty z podwyższoną funkcjonalnością
Ten fragment kodu pokazuje, jak zaimplementować kartę z dodatkowymi uprawnieniami. Użyj dedykowanego komponentu ElevatedCard.
Za pomocą właściwości elevation możesz kontrolować wygląd wzniesienia i powstałego cienia.
Wyniki
Tworzenie obrysowanej karty
Poniżej znajdziesz przykład karty z obrysem. Użyj dedykowanego komponentu OutlinedCard.
Wyniki
Najważniejsze punkty
Definicję interfejsu API Card znajdziesz w dokumentacji. Określa ona kilka parametrów, których możesz użyć do dostosowania wyglądu i działania komponentu.
Do najważniejszych parametrów należą:
elevation: dodaje cień do komponentu, dzięki któremu wygląda on na wyniesiony ponad tło.colors: używa typuCardColorsdo ustawienia domyślnego koloru zarówno kontenera, jak i jego elementów.enabled: jeśli w przypadku tego parametru podasz wartośćfalse, karta będzie wyglądać jak wyłączona i nie będzie reagować na działania użytkownika.onClick: zazwyczajCardnie akceptuje zdarzeń kliknięcia. Dlatego należy zwrócić uwagę na główne przeciążenie, które definiuje parametronClick. Użyj tej przeciążonej wersji, jeśli chcesz, aby implementacja funkcjiCardreagowała na kliknięcia użytkownika.
Karty nie mają wbudowanych działań przewijania ani odrzucania, ale można je zintegrować z komponowanymi komponentami, które oferują te funkcje. Aby na przykład wdrożyć gest przesunięcia w bok, który powoduje zamknięcie karty, zintegruj go z komponentem SwipeToDismiss. Aby zintegrować przewijanie, użyj modyfikatorów przewijania, takich jak verticalScroll. Więcej informacji znajdziesz w dokumentacji Scroll.
Kolekcje zawierające ten przewodnik
Ten przewodnik należy do tych kolekcji krótkich przewodników, które obejmują szersze zagadnienia związane z tworzeniem aplikacji na Androida: