Floating action button
A floating action button (FAB) represents the primary action of a screen.
A floating action button (FAB) performs the primary, or most common, action on a screen. It appears in front of all screen content, typically as a circular shape with an icon in its center. FABs come in three types: regular, mini, and extended.
Only use a FAB if it is the most suitable way to present a screen's primary action.
๐ฌ Feedback
๐จ Material Design
#
Variants#
Regularimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="star" {...props} />} color="primary" />
#
Extendedimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB variant="extended" label="Button" color="primary" /><FAB variant="extended" icon={props => <Icon name="star" {...props} />} label="Button" color="primary"/>
#
Sizingimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="account" {...props} />} /><FAB icon={props => <Icon name="account" {...props} />} size="mini" />
import { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB variant="extended" icon={props => <Icon name="heart" {...props} />} label="Button" /><FAB variant="extended" icon={props => <Icon name="heart" {...props} />} label="Button" size="mini"/>
#
Coloringimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="lock" {...props} />} /><FAB variant="extended" icon={props => <Icon name="lock" {...props} />} label="Button" tintColor="red"/><FAB icon={props => <Icon name="lock" {...props} />} color="onPrimary" /><FAB icon={props => <Icon name="lock" {...props} />} color="#FDCAE4" /><FAB icon={props => <Icon name="lock" {...props} />} color="#FDCAE4" tintColor="yellow" />
#
Loadingimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="plus" {...props} />} color="primary" loading /><FAB variant="extended" icon={props => <Icon name="plus" {...props} />} label="Button" color="primary" loading/><FAB variant="extended" icon={props => <Icon name="plus" {...props} />} label="Button" color="primary" loading loadingIndicatorPosition="overlay"/><FAB icon={props => <Icon name="plus" {...props} />} size="mini" color="primary" loading />
#
Custom Loading Indicatorimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="plus" {...props} />} color="error" loading loadingIndicator="โณ"/><FAB variant="extended" icon={props => <Icon name="plus" {...props} />} label="Button" color="onError" loading loadingIndicator={props => ( <Text style={{ width: 24, height: 24, backgroundColor: props.color, color: "white", borderRadius: 12, textAlign: "center", }} > ... </Text> )}/><FAB variant="extended" icon={props => <Icon name="plus" {...props} />} label="Button" color="onError" loading loadingIndicator="Loading..." loadingIndicatorPosition="overlay"/><FAB icon={props => <Icon name="plus" {...props} />} size="mini" color="onError" loading loadingIndicator="โฐ"/>
#
Visibilityimport { FAB } from "@react-native-material/core";import { MaterialCommunityIcons as Icon } from "@expo/vector-icons";
<FAB icon={props => <Icon name="plus" {...props} />} visible={false} /><FAB size="mini" icon={props => <Icon name="plus" {...props} />} visible={false} /><FAB variant="extended" icon={props => <Icon name="navigation" {...props} />} label="Navigate" color="primary" visible={false}/>