Skip to main content

button

Function button 

Source
pub fn button<'a, Message, Renderer>(
    label: impl IntoFragment<'a>,
    variant: ButtonVariant,
) -> Button<'a, Message, Renderer>
where Message: Clone + 'a, Renderer: Renderer + Renderer + 'a,
Examples found in repository?
examples/showcase/pages/feedback.rs (line 55)
51fn snackbars() -> material::Element<'static, Message> {
52    use material::widget::button::{self, ButtonVariant};
53
54    page::row([button::action(
55        button::button("Show snackbar", ButtonVariant::Filled),
56        Message::ShowSnackbar,
57    )])
58    .into()
59}
60
61fn dialogs() -> material::Element<'static, Message> {
62    use material::widget::button::{self, ButtonVariant};
63
64    page::row([button::action(
65        button::button("Open alert dialog", ButtonVariant::Filled),
66        Message::DialogOpened,
67    )])
68    .into()
69}
More examples
Hide additional examples
examples/showcase/pages/controls.rs (line 23)
18fn counter_controls(state: &Showcase) -> material::Element<'_, Message> {
19    use material::widget::button::{self, ButtonVariant};
20
21    page::row([
22        button::action(
23            button::button("Minus", ButtonVariant::Outlined),
24            Message::Decrement,
25        ),
26        material::text::headline_medium(state.count.to_string()).into(),
27        button::action(
28            button::button("Plus", ButtonVariant::Filled),
29            Message::Increment,
30        ),
31    ])
32    .into()
33}
34
35fn action_buttons(state: &Showcase) -> material::Element<'_, Message> {
36    use material::widget::button::{self, ButtonVariant};
37
38    page::row(button::enabled_actions(
39        state.enabled,
40        Message::Increment,
41        [
42            button::button("Filled", ButtonVariant::Filled),
43            button::button("Tonal", ButtonVariant::FilledTonal),
44            button::button("Text", ButtonVariant::Text),
45        ],
46    ))
47    .into()
48}
examples/showcase/pages/structure.rs (line 201)
190fn sheet_content(
191    title: &'static str,
192    supporting: &'static str,
193) -> material::Element<'static, Message> {
194    use material::widget::button::{self, ButtonVariant};
195
196    material::widget::sheet::bottom_content(page::compact_stack([
197        material::text::title_medium(title).into(),
198        material::text::body_medium(supporting).into(),
199        page::row([
200            button::action(
201                button::button("Dismiss", ButtonVariant::Text),
202                Message::Decrement,
203            ),
204            button::action(
205                button::button("Apply", ButtonVariant::Filled),
206                Message::Increment,
207            ),
208        ])
209        .into(),
210    ]))
211    .into()
212}
213
214fn side_sheet_content(
215    title: &'static str,
216    supporting: &'static str,
217) -> material::Element<'static, Message> {
218    use material::widget::button::{self, ButtonVariant};
219
220    material::widget::sheet::side_content(page::compact_stack([
221        material::text::title_medium(title).into(),
222        material::text::body_medium(supporting).into(),
223        page::row([
224            button::action(
225                button::button("Dismiss", ButtonVariant::Text),
226                Message::Decrement,
227            ),
228            button::action(
229                button::button("Apply", ButtonVariant::Filled),
230                Message::Increment,
231            ),
232        ])
233        .into(),
234    ]))
235    .into()
236}
examples/quickstart/app.rs (line 78)
72    fn view(self, app: &App) -> material::Element<'_, Message> {
73        match self {
74            Self::Home => page::surface(
75                page::header("Home", "A small Material app"),
76                column![
77                    material::text::headline_medium(app.count.to_string()),
78                    button::button("Increment", button::ButtonVariant::Filled)
79                        .on_press(Message::Increment),
80                    button::button("Decrement", button::ButtonVariant::Outlined)
81                        .on_press(Message::Decrement),
82                ]
83                .spacing(12),
84            )
85            .into(),
86            Self::Settings => page::surface(
87                page::header("Settings", "Pages are enum variants"),
88                material::text::body_large("Use the menu button in the rail"),
89            )
90            .into(),
91        }
92    }