Pływający przycisk polecenia (FAB) to przycisk o dużym znaczeniu, który umożliwia użytkownikowi wykonanie głównego działania w aplikacji. Promuje on jedno, konkretne działanie, które jest najczęstszym sposobem postępowania użytkownika. Zwykle znajduje się w prawym dolnym rogu ekranu.
Oto 3 przypadki użycia, w których możesz użyć FAB:
- Utwórz nowy element: w aplikacji do robienia notatek FAB może służyć do szybkiego tworzenia nowej notatki.
- Dodaj nowy kontakt: w aplikacji do czatowania FAB może otwierać interfejs, który umożliwia użytkownikowi dodanie kogoś do rozmowy.
- Wyśrodkuj lokalizację: w interfejsie mapy FAB może wyśrodkować mapę na bieżącej lokalizacji użytkownika.
W Material Design wyróżniamy 4 rodzaje FAB:
- FAB: pływający przycisk polecenia o zwykłym rozmiarze.
- Mały FAB: mniejszy pływający przycisk polecenia.
- Duży FAB: większy pływający przycisk polecenia.
- Rozszerzony FAB: pływający przycisk polecenia, który zawiera coś więcej niż tylko ikonę.
Powierzchnia interfejsu API
Chociaż istnieje kilka funkcji kompozycyjnych, których możesz użyć do utworzenia pływających przycisków polecenia zgodnych z Material Design, ich parametry nie różnią się zbytnio. Oto najważniejsze parametry, o których należy pamiętać:
onClick: funkcja wywoływana, gdy użytkownik naciśnie przycisk.containerColor: kolor przycisku.contentColor: kolor ikony.
Pływający przycisk polecenia
Aby utworzyć ogólny pływający przycisk polecenia, użyj podstawowej
FloatingActionButton funkcji kompozycyjnej. Poniższy przykład pokazuje podstawową implementację FAB:
@Composable fun Example(onClick: () -> Unit) { FloatingActionButton( onClick = { onClick() }, ) { Icon(Icons.Filled.Add, "Floating action button.") } }
Ta implementacja wygląda tak:
Mały przycisk
Aby utworzyć mały pływający przycisk polecenia, użyj funkcji kompozycyjnej
SmallFloatingActionButton. Poniższy przykład pokazuje, jak to zrobić, dodając spersonalizowane kolory.
@Composable fun SmallExample(onClick: () -> Unit) { SmallFloatingActionButton( onClick = { onClick() }, containerColor = MaterialTheme.colorScheme.secondaryContainer, contentColor = MaterialTheme.colorScheme.secondary ) { Icon(Icons.Filled.Add, "Small floating action button.") } }
Ta implementacja wygląda tak:
Duży przycisk
Aby utworzyć duży pływający przycisk polecenia, użyj funkcji kompozycyjnej
LargeFloatingActionButton. Ta funkcja kompozycyjna nie różni się znacząco od innych przykładów, z wyjątkiem tego, że tworzy większy przycisk.
Poniżej znajdziesz prostą implementację dużego FAB.
@Composable fun LargeExample(onClick: () -> Unit) { LargeFloatingActionButton( onClick = { onClick() }, shape = CircleShape, ) { Icon(Icons.Filled.Add, "Large floating action button") } }
Ta implementacja wygląda tak:
Rozszerzony przycisk
Za pomocą funkcji kompozycyjnej
ExtendedFloatingActionButton możesz tworzyć bardziej złożone pływające przyciski polecenia. Główna różnica między nią
a FloatingActionButton polega na tym, że ma ona dedykowane icon i text
parametry. Umożliwiają one utworzenie przycisku z bardziej złożoną treścią, która jest odpowiednio skalowana.
Poniższy fragment kodu pokazuje, jak zaimplementować ExtendedFloatingActionButton, z przykładowymi wartościami przekazanymi dla icon i text.
@Composable fun ExtendedExample(onClick: () -> Unit) { ExtendedFloatingActionButton( onClick = { onClick() }, icon = { Icon(Icons.Filled.Edit, "Extended floating action button.") }, text = { Text(text = "Extended FAB") }, ) }
Ta implementacja wygląda tak: