Splitties
Splitties copied to clipboard
Support SwitchMaterial
This is currently not released in a stable version of Material Components.
Relevant doc: https://github.com/material-components/material-components-android/blob/master/docs/components/Switch.md
Draft:
// SwitchMaterial
inline fun Context.materialSwitch(
@IdRes id: Int = View.NO_ID,
@StyleRes theme: Int = NO_THEME,
initView: SwitchMaterial.() -> Unit = {}
): SwitchMaterial {
contract { callsInPlace(initView, InvocationKind.EXACTLY_ONCE) }
return view(id, theme, initView)
}
inline fun View.materialSwitch(
@IdRes id: Int = View.NO_ID,
@StyleRes theme: Int = NO_THEME,
initView: SwitchMaterial.() -> Unit = {}
): SwitchMaterial {
contract { callsInPlace(initView, InvocationKind.EXACTLY_ONCE) }
return context.materialSwitch(id, theme, initView)
}
inline fun Ui.materialSwitch(
@IdRes id: Int = View.NO_ID,
@StyleRes theme: Int = NO_THEME,
initView: SwitchMaterial.() -> Unit = {}
): SwitchMaterial {
contract { callsInPlace(initView, InvocationKind.EXACTLY_ONCE) }
return ctx.materialSwitch(id, theme, initView)
}
See also this issue about naming consistency of SwitchMaterial: https://issuetracker.google.com/issues/123830858