Flutter边框切换开关插件border_toggle_switch的使用
Flutter边框切换开关插件border_toggle_switch的使用
Border Toggle Switch - 一个简单的、美观的底部边框切换开关小部件。它可以完全自定义所需的颜色、宽度、文本、圆角等。它还维护了选择状态,并返回选中的切换状态。
开始使用
在您的 Flutter 项目的 pubspec.yaml
文件中,添加以下依赖项:
dependencies:
...
border_toggle_switch: ^0.0.1
然后导入该包:
import 'package:border_toggle_switch/border_toggle_switch.dart';
使用示例
示例1:带边框颜色、边框宽度、自定义高度和不同活动背景颜色的切换开关,并带有返回函数
BorderToggleSwitch(
// 底部边框颜色
bottomBorderColor: Colors.blue,
// 活动状态下的标签名
activeToggleName: "左",
// 非活动状态下的标签名
inActiveToggleName: "右",
// 点击时的回调函数
isClicked: (value) {
debugPrint(value); // 打印当前点击的状态
},
// 是否显示边框
isBorder: true,
// 活动状态下的背景颜色
activeBackgroundColor: Colors.white,
// 非活动状态下的背景颜色
inActiveBackgroundColor: Colors.black12,
// 高度
height: 45,
// 边框大小
borderSize: 3,
// 圆角半径
radius: 15,
// 四个角的圆角半径
bottomRightRadius: 15,
bottomLeftRadius: 15,
topRightRadius: 15,
topLeftRadius: 15,
// 非活动状态下的标签样式
inActiveToggleNameStyle: const TextStyle(fontWeight: FontWeight.bold, color: Colors.black),
// 活动状态下的标签样式
activeToggleNameStyle: const TextStyle(fontWeight: FontWeight.bold, color: Colors.blue),
)
示例代码
以下是完整的示例代码:
import 'package:border_toggle_switch/border_toggle_switch.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const ToggleView(),
);
}
}
class ToggleView extends StatefulWidget {
const ToggleView({Key? key}) : super(key: key);
[@override](/user/override)
State<ToggleView> createState() => _ToggleViewState();
}
class _ToggleViewState extends State<ToggleView> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
body: Container(
padding: const EdgeInsets.all(10),
child: Center(
child: BorderToggleSwitch(
bottomBorderColor: Colors.blue,
activeToggleName: "左",
inActiveToggleName: "右",
isClicked: (value) {
debugPrint(value); // 打印当前点击的状态
},
isBorder: true,
activeBackgroundColor: Colors.white,
inActiveBackgroundColor: Colors.black12,
height: 45,
borderSize: 3,
radius: 15,
bottomRightRadius: 15,
bottomLeftRadius: 15,
topRightRadius: 15,
topLeftRadius: 15,
inActiveToggleNameStyle: const TextStyle(fontWeight: FontWeight.bold, color: Colors.black),
activeToggleNameStyle: const TextStyle(fontWeight: FontWeight.bold, color: Colors.blue),
),
),
),
);
}
}
更多关于Flutter边框切换开关插件border_toggle_switch的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter边框切换开关插件border_toggle_switch的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
border_toggle_switch
是一个自定义的 Flutter 开关插件,它允许你在开关切换时显示或隐藏边框。这个插件可以用于创建具有自定义外观的开关控件。
安装
首先,你需要在 pubspec.yaml
文件中添加 border_toggle_switch
插件的依赖:
dependencies:
flutter:
sdk: flutter
border_toggle_switch: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
基本用法
border_toggle_switch
插件的基本用法如下:
import 'package:flutter/material.dart';
import 'package:border_toggle_switch/border_toggle_switch.dart';
class MyHomePage extends StatefulWidget {
[@override](/user/override)
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool _isSwitched = false;
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Border Toggle Switch Example'),
),
body: Center(
child: BorderToggleSwitch(
value: _isSwitched,
onChanged: (bool value) {
setState(() {
_isSwitched = value;
});
},
activeColor: Colors.blue,
inactiveColor: Colors.grey,
borderColor: Colors.black,
borderWidth: 2.0,
showBorder: _isSwitched, // 根据开关状态显示或隐藏边框
),
),
);
}
}