使用Jetpack Compose创建一个Android开关

251 阅读1分钟

使用Jetpack Compose创建一个安卓开关

设计可组合的UI

Kamaldeep Kumar

[

卡迈勒迪普-库马尔

](kamaldeepkakkar.medium.com/?source=pos…)

[

2小时前-2

](betterprogramming.pub/create-an-a…

照片:Isabella and Zsa FischeronUnsplash

在上一篇教程中,我们讨论了创建自定义Jetpack Compose芯片。在这篇文章中,我们将讨论如何在Jetpack Compose中创建一个开关。

基本上,当我们需要一个双状态的选项时,如开/关,就会用到开关。

首先,我们将在Compose中创建一个默认的开关,如下所示

上面的开关包含两个参数。

1.checked: 组件被检查或不被检查

2.onCheckedChange: 它是一个回调,每当用户点击开关时,它就会被调用。

轨道和拇指

如果我们想改变轨道和拇指的颜色,那么我们需要添加第三个参数 (colors: SwitchColors)

在上面的代码中,我们添加了颜色参数,该参数接收SwitchDefaults 类型的对象。我们已经为选中和未选中的状态定制了拇指和轨道的颜色。

如果你注意到上面的图片,Track 的颜色不是全蓝色的,尽管我们已经给出了适当的蓝色。等等......这里似乎发生了什么。

SwitchDefaults.colors ,它得到了这两个参数的默认值checkedTrackAlphauncheckedTrackAlpha

checkedTrackAlpha: Float = 0.54f,uncheckedTrackAlpha: Float = 0.38f,

所以我们也可以在SwitchDefaults.colors ,如果我们想给轨道显示全蓝的颜色,可以把这两个参数作为参数传给它。

有时,我们需要显示一个开关来显示信息,而用户又不能对它采取行动,因此,我们也可以通过添加一个参数来简单地禁用这个开关。(enabled=false)

是的......这就完成了!就像这样。谢谢你的阅读。