Skip to main content

fab

Function fab 

Source
pub fn fab<'a, Message, Renderer>(
    icon_content: impl IntoFragment<'a>,
    variant: FabVariant,
    size: FabSize,
) -> Button<'a, Message, Renderer>
where Message: Clone + 'a, Renderer: Renderer + Renderer + 'a, Font: Into<Renderer::Font>,
Examples found in repository?
examples/showcase/pages/structure.rs (line 72)
61fn bottom_app_bar() -> material::Element<'static, Message> {
62    use material::widget::app_bar;
63    use material::widget::button::{self, FabSize, FabVariant};
64
65    app_bar::bottom(
66        app_bar::icon_actions([
67            ("menu", Message::MenuPressed),
68            ("search", Message::Increment),
69            ("info", Message::Increment),
70        ]),
71        Some(button::action(
72            button::fab("add", FabVariant::Primary, FabSize::Standard),
73            Message::Increment,
74        )),
75    )
76    .into()
77}
78
79fn toolbars() -> material::Element<'static, Message> {
80    use material::widget::button::{self, FabSize, FabVariant};
81    use material::widget::toolbar;
82
83    let docked = toolbar::docked(toolbar::icon_actions([
84        ("arrow_back", Message::Decrement),
85        ("arrow_forward", Message::Increment),
86        ("add", Message::Increment),
87        ("tab", Message::Increment),
88        ("star", Message::Increment),
89        ("search", Message::Increment),
90    ]));
91
92    let docked_vibrant = toolbar::docked_vibrant([
93        toolbar::vibrant_icon_action("edit", Message::Increment),
94        toolbar::selected_vibrant_icon_action("check", Message::Increment),
95        toolbar::vibrant_icon_action("delete", Message::Decrement),
96        toolbar::vibrant_icon_action("more_vert", Message::MenuPressed),
97    ]);
98
99    let floating = toolbar::floating([
100        toolbar::selected_icon_action("format_bold", Message::Increment),
101        toolbar::icon_action("format_italic", Message::Increment),
102        toolbar::icon_action("format_underlined", Message::Increment),
103        toolbar::icon_action("format_color_text", Message::Increment),
104    ]);
105
106    let floating_vibrant = toolbar::floating_with_fab(
107        toolbar::floating_vibrant(toolbar::vibrant_icon_actions([
108            ("share", Message::Increment),
109            ("add", Message::Increment),
110            ("edit", Message::Increment),
111        ])),
112        button::fab("search", FabVariant::Primary, FabSize::Standard).on_press(Message::Increment),
113    );
114
115    let vertical = toolbar::vertical_floating([
116        toolbar::icon_action("undo", Message::Decrement),
117        toolbar::icon_action("redo", Message::Increment),
118        toolbar::selected_icon_action("palette", Message::Increment),
119    ]);
120
121    page::component_stack([
122        docked.into(),
123        docked_vibrant.into(),
124        page::row([floating.into(), vertical.into()]).into(),
125        floating_vibrant.into(),
126    ])
127    .into()
128}
More examples
Hide additional examples
examples/showcase/pages/controls.rs (line 58)
50fn fabs(state: &Showcase) -> material::Element<'_, Message> {
51    use material::widget::button::{self, FabSize, FabVariant};
52
53    page::stack([
54        page::row(button::enabled_actions(
55            state.enabled,
56            Message::Increment,
57            [
58                button::fab("add", FabVariant::Surface, FabSize::Small),
59                button::fab("add", FabVariant::Surface, FabSize::Standard),
60                button::fab("add", FabVariant::Surface, FabSize::Large),
61                button::fab("add", FabVariant::Primary, FabSize::Standard),
62                button::fab("add", FabVariant::Secondary, FabSize::Standard),
63                button::fab("add", FabVariant::Tertiary, FabSize::Standard),
64            ],
65        ))
66        .into(),
67        page::row(button::enabled_actions(
68            state.enabled,
69            Message::Increment,
70            [
71                button::extended_fab_with_icon("add", "Create", FabVariant::Primary),
72                button::extended_fab_with_icon("share", "Share", FabVariant::Secondary),
73                button::extended_fab_with_icon("add", "Add", FabVariant::Tertiary),
74                button::extended_fab("Reroute", FabVariant::Surface),
75            ],
76        ))
77        .into(),
78    ])
79    .into()
80}