Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
keywords: AiAssisted, product:JetpackCompose
Przyciski to podstawowe komponenty, które umożliwiają użytkownikowi uruchomienie określonego działania. Istnieje 5 rodzajów przycisków. W tej tabeli 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. Wypełnione przyciski tonalne mają większą wagę wizualną i są odpowiednie w przypadku 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” czy „Wstecz”.
Tekst
Wyświetla tekst bez tła i obramowania.
Przyciski o niskim kontraście, idealne do mniej istotnych działań, takich jak linki nawigacyjne czy funkcje dodatkowe, np. „Więcej informacji” lub „Wyświetl szczegóły”.
Ilustracja przedstawiająca 5 rodzajów przycisków w Material Design:
Rysunek 1. 5 komponentów przycisków.
Powierzchnia interfejsu API
onClick
Funkcja wywoływana przez system, gdy użytkownik naciśnie przycisk.
enabled
Gdy ma wartość false, ten parametr sprawia, że przycisk jest niedostępny i nieaktywny.
colors
Instancja ButtonColors, która określa kolory używane w przycisku.
contentPadding
Dopełnienie w przycisku.
Wypełniony przycisk
Komponent wypełnionego przycisku korzysta z podstawowego komponentu Button. Domyślnie jest wypełniony jednolitym kolorem. Fragment kodu pokazuje, jak wdrożyć komponent:
Komponent podniesionego przycisku korzysta z komponentu ElevatedButton. Domyślnie ma cień, który reprezentuje efekt wysokości. Jest to wypełniony przycisk z cieniem.
Komponent przycisku tekstowego korzysta z komponentu TextButton. Do momentu naciśnięcia przycisku jest on widoczny tylko jako tekst. Domyślnie nie ma wypełnienia ani obrysu.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-28 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-28 UTC."],[],[],null,["keywords: AiAssisted, product:JetpackCompose\n\nButtons are fundamental components that allow the user to trigger a defined\naction. There are five types of buttons. This table describes the\nappearance of each of the five button types, as well as where you should use\nthem:\n\n| Type | Appearance | Purpose |\n|--------------|-----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Filled | Solid background with contrasting text. | High-emphasis buttons. These are for primary actions in an application, such as \"submit\" and \"save.\" The shadow effect highlights the button's importance. |\n| Filled tonal | Background color varies to match the surface. | Also for primary or significant actions. Filled tonal buttons provide more visual weight and suit functions such as \"add to cart\" and \"Sign in.\" |\n| Elevated | Stands out by having a shadow. | Serves a similar purpose to tonal buttons. Increase elevation to make the button appear even more prominently. |\n| Outlined | Features a border with no fill. | Medium-emphasis buttons, containing actions that are important but not primary. They pair well with other buttons to indicate alternative, secondary actions like \"Cancel\" or \"Back.\" |\n| Text | Displays text with no background or border. | Low-emphasis buttons, ideal for less critical actions such as navigational links, or secondary functions like \"Learn More\" or \"View details.\" |\n\nThis image demonstrates the five types of buttons in Material Design:\nFigure 1. The five button components.\n\nAPI surface\n\n`onClick`\n: The function that the system calls when the user presses the button.\n\n`enabled`\n: When `false`, this parameter makes the button appear unavailable and\n inactive.\n\n`colors`\n: An instance of `ButtonColors` that determines the colors used in the\n button.\n\n`contentPadding`\n: The padding within the button.\n\nFilled button\n\nThe filled button component uses the basic [`Button`](/reference/kotlin/androidx/compose/material3/package-summary?#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)) composable. It is\nfilled with a solid color by default. The snippet shows how to implement the\ncomponent:\n\n\n```kotlin\n@Composable\nfun FilledButtonExample(onClick: () -\u003e Unit) {\n Button(onClick = { onClick() }) {\n Text(\"Filled\")\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/components/Button.kt#L58-L63\n```\n\n\u003cbr /\u003e\n\n| **Note:** If you want to build a custom button, use the `Button` composable.\n\nThis implementation appears as shown:\nFigure 2. A filled button.\n\nFilled tonal button\n\nThe filled tonal button component uses the [`FilledTonalButton`](/reference/kotlin/androidx/compose/material3/package-summary#FilledTonalButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)) composable.\nIt is filled with a tonal color by default.\n\nThe snippet shows how to implement the component:\n\n\n```kotlin\n@Composable\nfun FilledTonalButtonExample(onClick: () -\u003e Unit) {\n FilledTonalButton(onClick = { onClick() }) {\n Text(\"Tonal\")\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/components/Button.kt#L67-L72\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as shown:\nFigure 3. A tonal button.\n\nOutlined button\n\nThe outlined button component uses the [`OutlinedButton`](/reference/kotlin/androidx/compose/material3/package-summary#OutlinedButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)) composable. It\nappears with an outline by default.\n\nThe snippet shows how to implement the component:\n\n\n```kotlin\n@Composable\nfun OutlinedButtonExample(onClick: () -\u003e Unit) {\n OutlinedButton(onClick = { onClick() }) {\n Text(\"Outlined\")\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/components/Button.kt#L85-L90\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as shown:\nFigure 4. An outlined button.\n\nElevated button\n\nThe elevated button component uses the [`ElevatedButton`](/reference/kotlin/androidx/compose/material3/package-summary#ElevatedButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)) composable. It has\na shadow that represents the elevation effect by default. It is a filled button\nthat includes a shadow.\n\nThe snippet shows how to implement the component:\n\n\n```kotlin\n@Composable\nfun ElevatedButtonExample(onClick: () -\u003e Unit) {\n ElevatedButton(onClick = { onClick() }) {\n Text(\"Elevated\")\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/components/Button.kt#L76-L81\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as shown:\nFigure 5. An elevated button.\n\nText button\n\nThe text button component uses the [`TextButton`](/reference/kotlin/androidx/compose/material3/package-summary#TextButton(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)) composable. It appears as\nonly text until pressed. It does not have a solid fill or outline by default.\n\nThe snippet shows how to implement the component:\n\n\n```kotlin\n@Composable\nfun TextButtonExample(onClick: () -\u003e Unit) {\n TextButton(\n onClick = { onClick() }\n ) {\n Text(\"Text Button\")\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/components/Button.kt#L94-L101\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as shown:\nFigure 6. A text button.\n\nAdditional resources\n\n- [Floating action button](/develop/ui/compose/components/fab)\n- [Material Design 3 Buttons overview](https://m3.material.io/components/buttons/overview)"]]