7.1 概述
Switch
组件是 Flutter 中用于二选一开关功能的核心控件,类似于 iOS 中的滑动开关和 Android 中的切换按钮。它通常用于让用户在两种状态之间切换,如开/关、是/否等。Switch
是一个非常直观的控件,当用户需要快速启用或禁用某个功能时,它可以提供最直接的交互方式。
Switch
的作用不仅在于切换状态,它的外观和用户交互也能给应用带来不同的视觉体验。因此,了解如何配置 Switch
的外观、行为和状态管理是开发直观且易于使用的应用程序的重要一环。
7.2 Switch 的基本使用
Switch
的使用非常简单,它只有两个主要属性——value
和 onChanged
。其中,value
定义了开关的当前状态,而 onChanged
则是当用户切换状态时触发的回调函数。
示例:
Switch(
value: isSwitched,
onChanged: (bool value) {
setState(() {
isSwitched = value;
});
},
)
在这个例子中,isSwitched
是一个 bool
变量,决定了 Switch
是开还是关。onChanged
是用户切换开关时执行的回调函数,它会更新 isSwitched
的值。
7.3 Switch 的主要属性
Switch
组件提供了一些属性,用于控制其外观和行为。下表列出了常用的属性:
属性 | 类型 | 说明 | 默认值 |
---|---|---|---|
value |
bool |
当前开关的状态,true 表示开,false 表示关。 |
必须指定 |
onChanged |
ValueChanged<bool>? |
当开关状态变化时调用的回调函数。该函数接收一个新的状态(true 或 false )。 |
必须指定 |
activeColor |
Color? |
开启状态时开关的颜色。 | null |
inactiveThumbColor |
Color? |
关闭状态时滑块(拇指)的颜色。 | null |
inactiveTrackColor |
Color? |
关闭状态时滑块轨道的颜色。 | null |
activeThumbImage |
ImageProvider? |
开启状态时显示在滑块(拇指)上的图像。 | null |
inactiveThumbImage |
ImageProvider? | <