Button
Przyciski to podstawowe komponenty, które umożliwiają użytkownikowi uruchomienie określonego działania. Istnieje 5 rodzajów przycisków. W tabeli poniżej opisujemy wygląd każdego z 5 typów przycisków oraz miejsca, w których należy ich używać.
Typ |
Wygląd |
Cel |
---|---|---|
Wypełniony |
jednolite tło z kontrastującym tekstem, |
przyciski o wysokim kontraście; Są one przeznaczone do głównych działań w aplikacji, takich jak „prześlij” i „zapisz”. Efekt cienia podkreśla znaczenie przycisku. |
Wypełniony tonalny |
Kolor tła zmienia się w zależności od powierzchni. |
Dotyczy to też działań głównych lub istotnych. Przyciski wypełnione mają większą wagę wizualną i pasują do funkcji takich jak „Dodaj do koszyka” i „Zaloguj się”. |
Wysoka |
Wyróżnia się cieniem. |
Pełnią podobną funkcję jak przyciski tonalne. Zwiększ poziom, aby przycisk był jeszcze bardziej widoczny. |
Kontur |
Zawiera obramowanie bez wypełnienia. |
Przyciski o średnim znaczeniu, które zawierają ważne, ale nie główne działania. Dobrze komponują się z innymi przyciskami, wskazując alternatywne działania dodatkowe, takie jak „Anuluj” lub „Wstecz”. |
Tekst |
Wyświetla tekst bez tła i obramowania. |
Przyciski o niskim priorytecie, idealne do mniej istotnych działań, takich jak linki nawigacyjne czy funkcje dodatkowe, np. „Więcej informacji” lub „Wyświetl szczegóły”. |
Ilustracja poniżej przedstawia 5 rodzajów przycisków w Material Design.
Powierzchnia interfejsu API
onClick
: funkcja wywoływana, gdy użytkownik naciśnie przycisk.enabled
: gdy ma wartość false, ten parametr powoduje, że przycisk jest niedostępny i nieaktywny.colors
: instancjaButtonColors
, która określa kolory używane w przycisku.contentPadding
: odstęp wewnątrz przycisku.
Wypełniony przycisk
Komponent wypełnionego przycisku korzysta z podstawowego komponentu Button
. Domyślnie jest wypełniony jednolitym kolorem. Poniższy fragment kodu pokazuje, jak zaimplementować komponent:
@Composable fun FilledButtonExample(onClick: () -> Unit) { Button(onClick = { onClick() }) { Text("Filled") } }
Ta implementacja wygląda tak:

Wypełniony przycisk tonalny
Komponent wypełnionego przycisku tonalnego korzysta z funkcji kompozycyjnej FilledTonalButton
.
Domyślnie jest wypełniony kolorem tonalnym.
Poniższy fragment kodu pokazuje, jak wdrożyć ten komponent:
@Composable fun FilledTonalButtonExample(onClick: () -> Unit) { FilledTonalButton(onClick = { onClick() }) { Text("Tonal") } }
Ta implementacja wygląda tak:

Przycisk z konturem
Komponent przycisku z obramowaniem korzysta z funkcji kompozycyjnej OutlinedButton
. Domyślnie jest on otoczony konturem.
Poniższy fragment kodu pokazuje, jak wdrożyć ten komponent:
@Composable fun OutlinedButtonExample(onClick: () -> Unit) { OutlinedButton(onClick = { onClick() }) { Text("Outlined") } }
Ta implementacja wygląda tak:

Przycisk podniesiony
Komponent podniesionego przycisku korzysta z funkcji kompozycyjnej ElevatedButton
. Domyślnie ma cień, który reprezentuje efekt wysokości. Pamiętaj, że jest to w zasadzie przycisk z obramowaniem i cieniem.
Poniższy fragment kodu pokazuje, jak wdrożyć ten komponent:
@Composable fun ElevatedButtonExample(onClick: () -> Unit) { ElevatedButton(onClick = { onClick() }) { Text("Elevated") } }
Ta implementacja wygląda tak:

Przycisk tekstowy
Komponent przycisku tekstowego korzysta z funkcji kompozycyjnej TextButton
. Dopóki nie zostanie naciśnięty, będzie wyświetlany tylko jako tekst. Domyślnie nie ma wypełnienia ani obrysu.
Poniższy fragment kodu pokazuje, jak wdrożyć ten komponent:
@Composable fun TextButtonExample(onClick: () -> Unit) { TextButton( onClick = { onClick() } ) { Text("Text Button") } }
Ta implementacja wygląda tak:
