Flutter滑动开关组件插件sliding_switch的使用
Flutter滑动开关组件插件 sliding_switch
的使用
sliding_switch
是一个简单的滑动开关小部件,支持高度自定义,包括宽度、颜色、文本等。它还维护选择状态。
Live Demo (Codeapprun)
你可以通过以下链接查看实时演示: Live Demo
Getting Started
在你的Flutter项目的pubspec.yaml
文件中添加以下依赖项:
dependencies:
...
sliding_switch: "latest"
然后导入它:
import 'package:sliding_switch/sliding_switch.dart';
Usage Examples
最小配置的滑动开关
以下是一个最简单的滑动开关示例:
SlidingSwitch(
value: false,
width: 250,
onChanged: (bool value) {
print(value);
},
)
其他配置选项的滑动开关
你可以进一步自定义滑动开关,如下所示:
SlidingSwitch(
value: false,
width: 250,
onChanged: (bool value) {
print(value);
},
height: 55,
animationDuration: const Duration(milliseconds: 400),
onTap: () {},
onDoubleTap: () {},
onSwipe: () {},
textOff: "Female",
textOn: "Male",
iconOff: Icons.human_female,
iconOn: Icons.human_male,
contentSize: 17,
colorOn: const Color(0xffdc6c73),
colorOff: const Color(0xff6682c0),
background: const Color(0xffe4e5eb),
buttonColor: const Color(0xfff7f5f7),
inactiveColor: const Color(0xff636f7b),
)
如果设置了iconOn
或iconOff
,它们将替代相应的textOn
和textOff
显示。textOn
和textOff
的值用于图标的语义标签以提高可访问性。
完整示例Demo
以下是一个完整的示例代码,展示了如何在Flutter应用中使用sliding_switch
:
import 'package:flutter/material.dart';
import 'package:sliding_switch/sliding_switch.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
debugShowCheckedModeBanner: false,
home: Scaffold(
backgroundColor: Colors.white,
body: Center(
child: SlidingSwitch(
value: false,
width: 250,
onChanged: (bool value) {
print(value);
},
height: 55,
animationDuration: const Duration(milliseconds: 400),
onTap: () {},
onDoubleTap: () {},
onSwipe: () {},
textOff: "Female",
textOn: "Male",
colorOn: const Color(0xffdc6c73),
colorOff: const Color(0xff6682c0),
background: const Color(0xffe4e5eb),
buttonColor: const Color(0xfff7f5f7),
inactiveColor: const Color(0xff636f7b),
),
),
),
);
}
}
更多关于Flutter滑动开关组件插件sliding_switch的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter滑动开关组件插件sliding_switch的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何在Flutter中使用sliding_switch
插件来实现滑动开关组件的示例代码。这个示例展示了如何集成sliding_switch
插件,并在UI中显示一个滑动开关,同时处理开关状态的更改。
首先,确保你已经在pubspec.yaml
文件中添加了sliding_switch
依赖:
dependencies:
flutter:
sdk: flutter
sliding_switch: ^x.y.z # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
接下来,在你的Flutter项目中创建一个简单的页面来使用SlidingSwitch
组件。以下是一个完整的示例代码:
import 'package:flutter/material.dart';
import 'package:sliding_switch/sliding_switch.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Sliding Switch Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: SlidingSwitchDemo(),
);
}
}
class SlidingSwitchDemo extends StatefulWidget {
@override
_SlidingSwitchDemoState createState() => _SlidingSwitchDemoState();
}
class _SlidingSwitchDemoState extends State<SlidingSwitchDemo> {
bool isSwitchOn = false;
void _onSwitchChanged(bool value) {
setState(() {
isSwitchOn = value;
});
print("Switch is now: $isSwitchOn");
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Sliding Switch Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SlidingSwitch(
activeColor: Colors.blue,
inactiveColor: Colors.grey,
activeThumbColor: Colors.white,
inactiveThumbColor: Colors.white,
value: isSwitchOn,
onChanged: _onSwitchChanged,
),
SizedBox(height: 20),
Text(
'Switch is ${isSwitchOn ? 'ON' : 'OFF'}',
style: TextStyle(fontSize: 20),
),
],
),
),
);
}
}
在这个示例中:
- 我们首先导入了
sliding_switch
包。 - 创建了一个简单的Flutter应用,包含一个主页面
SlidingSwitchDemo
。 SlidingSwitchDemo
是一个有状态的小部件,它维护一个布尔值isSwitchOn
来表示开关的状态。_onSwitchChanged
方法是一个回调函数,当开关状态改变时被调用。它更新isSwitchOn
状态并打印新的状态。- 在UI中,我们使用
SlidingSwitch
组件,并传入相关参数,包括颜色、当前值以及状态改变时的回调函数。 - 我们还添加了一个文本小部件来显示当前的开关状态。
运行这个应用,你将看到一个滑动开关,当你滑动开关时,文本将更新以反映开关的新状态,同时控制台也会打印出开关的新状态。