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 185)
174fn sheet_content(
175    title: &'static str,
176    supporting: &'static str,
177) -> material::Element<'static, Message> {
178    use material::widget::button::{self, ButtonVariant};
179
180    material::widget::sheet::bottom_content(page::compact_stack([
181        material::text::title_medium(title).into(),
182        material::text::body_medium(supporting).into(),
183        page::row([
184            button::action(
185                button::button("Dismiss", ButtonVariant::Text),
186                Message::Decrement,
187            ),
188            button::action(
189                button::button("Apply", ButtonVariant::Filled),
190                Message::Increment,
191            ),
192        ])
193        .into(),
194    ]))
195    .into()
196}
197
198fn side_sheet_content(
199    title: &'static str,
200    supporting: &'static str,
201) -> material::Element<'static, Message> {
202    use material::widget::button::{self, ButtonVariant};
203
204    material::widget::sheet::side_content(page::compact_stack([
205        material::text::title_medium(title).into(),
206        material::text::body_medium(supporting).into(),
207        page::row([
208            button::action(
209                button::button("Dismiss", ButtonVariant::Text),
210                Message::Decrement,
211            ),
212            button::action(
213                button::button("Apply", ButtonVariant::Filled),
214                Message::Increment,
215            ),
216        ])
217        .into(),
218    ]))
219    .into()
220}
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    }