API ReferenceDesign Systems
Material Selection
Checkbox, radio, switch, sliders, and their theme data.
| Control | Value |
|---|---|
Checkbox | bool + tristate Option<bool> |
Radio<T> / RadioGroup<T> | Shared group selection |
Switch | bool toggle |
Slider | f32 in range with divisions |
RangeSlider | RangeValues start/end pair |
use incular::prelude::*;
use incular::material_prelude::{Checkbox, Slider};
fn main() {
let app = Application::new(|_cx| {
Container::builder()
.padding(EdgeInsets::all(24.0))
.alignment(Alignment::CENTER)
.child(
Column::builder()
.main_axis_size(MainAxisSize::Min)
.spacing(8.0)
.children(Vec::<Widget>::from([
Checkbox::new(false)
.on_changed(|v| println!("checked: {v:?}")).into(),
Slider::new(0.5)
.range(0.0, 1.0)
.on_changed(|v| println!("slider: {v}")).into(),
]))
.build(),
)
.build()
.into()
})
.expect("valid application");
incular::run(app).expect("run application");
}Switch, Radio, RangeSlider, and the SliderInteraction / SliderThemeData
options share the same consuming-builder shape.
SliderInteraction: TapAndSlide (default) / TapOnly / SlideOnly /
SlideThumb. SliderThemeData (all Option): track height, thumb size,
track/thumb/overlay/tick colors, value indicator, padding, constraints.
Related: Selection.