Splitties icon indicating copy to clipboard operation
Splitties copied to clipboard

Support SwitchMaterial

Open LouisCAD opened this issue 6 years ago • 1 comments

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)
}

LouisCAD avatar Feb 04 '19 03:02 LouisCAD

See also this issue about naming consistency of SwitchMaterial: https://issuetracker.google.com/issues/123830858

LouisCAD avatar Feb 04 '19 03:02 LouisCAD