【Flutter】Flutter 使用 toggle_switch 实现切换按钮

【Flutter】Flutter 使用 toggle_switch 实现切换按钮

文章目录

    • 一、前言
    • 二、安装和基本使用
    • 三、Toggle Switch 的基础示例
    • 四、Toggle Switch 的高级用法
    • 五、实际业务中的完整示例
    • 六、总结

一、前言

你好,我是小雨青年,今天我要为大家介绍一个非常实用的 Flutter 组件:toggle_switch。这个组件可以帮助我们在 Flutter 项目中轻松实现切换按钮的功能。在这篇文章中,我将手把手地教大家如何安装和使用这个组件,以及如何在实际业务中应用它。文章的重点有:

  • 如何安装 toggle_switch 组件
  • toggle_switch 的基础和高级用法
  • 根据实际业务需求编写的完整示例代码

这是小雨青年于 2023 年发布在 CSDN 的博客,由于目前采集站侵权行为猖獗,如果你不是在 CSDN 看到本文,麻烦你通过 CSDN 联系我,谢谢你的支持。

你是否对成为 Flutter 高手充满渴望,想要掌握更多前沿技巧和最佳实践?现在,你的机会来了!

🚀 Flutter 从零到一:基础入门到应用上线全攻略 正在热烈招募参与者!

✅ 这个专栏不仅包括了全面的 Flutter 学习资源,还有实用的代码示例和深入的解析教程。
✅ 专栏内容会持续更新,价格也会随之上涨。现在加入,享受最优惠的价格,抓住属于你的机会!
✅ 想要与其他 Flutter 学习者互动交流吗?点击这里 加入我们的讨论群,一起成长、一起进步。

别再等待,让我们今天就启程,共同开启 Flutter 的精彩学习之旅吧!

二、安装和基本使用

首先,我们需要在 Flutter 项目的 pubspec.yaml 文件中添加以下依赖:

dependencies:...toggle_switch: ^2.1.0

安装完成后,记得在你的 Dart 文件中导入这个包:

import 'package:toggle_switch/toggle_switch.dart';

三、Toggle Switch 的基础示例

让我们从最基础的 toggle_switch 开始。以下是一个简单的示例,展示了如何使用默认的主题颜色创建一个切换按钮:

ToggleSwitch(initialLabelIndex: 0,totalSwitches: 3,labels: ['America', 'Canada', 'Mexico'],onToggle: (index) {print('切换到: $index');},
)

在这个示例中,我们创建了一个有三个选项的切换按钮:‘America’, ‘Canada’, 和 ‘Mexico’。initialLabelIndex 设置了默认选中的选项,这里我们默认选中了 ‘America’。

四、Toggle Switch 的高级用法

toggle_switch 组件提供了许多自定义选项,让我们可以根据项目的需求进行调整。下面,我会为大家展示一些常见的高级用法。

  1. 自定义高度和字体大小
ToggleSwitch(minWidth: 90.0,minHeight: 90.0,fontSize: 16.0,initialLabelIndex: 1,activeBgColor: [Colors.green],activeFgColor: Colors.white,inactiveBgColor: Colors.grey,inactiveFgColor: Colors.grey[900],totalSwitches: 3,labels: ['Tall', 'Grande', 'Venti'],onToggle: (index) {print('切换到: $index');},
)
  1. 使用图标和自定义宽度
ToggleSwitch(customWidths: [90.0, 50.0],cornerRadius: 20.0,activeBgColors: [[Colors.cyan], [Colors.redAccent]],activeFgColor: Colors.white,inactiveBgColor: Colors.grey,inactiveFgColor: Colors.white,totalSwitches: 2,labels: ['YES', ''],icons: [null, FontAwesomeIcons.times],onToggle: (index) {print('切换到: $index');},
)
  1. 使用不同的背景颜色和图标
ToggleSwitch(minWidth: 90.0,initialLabelIndex: 1,cornerRadius: 20.0,activeFgColor: Colors.white,inactiveBgColor: Colors.grey,inactiveFgColor: Colors.white,totalSwitches: 2,labels: ['Male', 'Female'],icons: [FontAwesomeIcons.mars, FontAwesomeIcons.venus],activeBgColors: [[Colors.blue],[Colors.pink]],onToggle: (index) {print('切换到: $index');},
)

五、实际业务中的完整示例

假设我们正在开发一个咖啡点单应用,用户可以通过 toggle_switch 选择咖啡的大小。下面是一个完整的示例代码:

import 'package:flutter/material.dart';
import 'package:toggle_switch/toggle_switch.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {Widget build(BuildContext context) {return MaterialApp(title: '咖啡点单应用',theme: ThemeData(primarySwatch: Colors.brown,),home: CoffeeOrderPage(),);}
}class CoffeeOrderPage extends StatefulWidget {_CoffeeOrderPageState createState() => _CoffeeOrderPageState();
}class _CoffeeOrderPageState extends State<CoffeeOrderPage> {int _selectedSize = 0;Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('选择咖啡大小'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[ToggleSwitch(minWidth: 90.0,minHeight: 90.0,fontSize: 16.0,initialLabelIndex: _selectedSize,activeBgColor: [Colors.brown],activeFgColor: Colors.white,inactiveBgColor: Colors.grey,inactiveFgColor: Colors.grey[900],totalSwitches: 3,labels: ['小杯', '中杯', '大杯'],onToggle: (index) {if (index != null) {setState(() {_selectedSize = index;});print('选择了: $_selectedSize');}},),SizedBox(height: 20.0),Text('你选择了 ${['小杯', '中杯', '大杯'][_selectedSize]} 咖啡')],),),);}
}

运行结果如下所示:

六、总结

toggle_switch 是一个非常实用的 Flutter 组件,无论是在基础应用还是在复杂的业务场景中,都可以帮助我们轻松实现切换按钮的功能。希望通过这篇文章,大家可以更好地理解和使用这个组件。

对 Flutter 感兴趣,渴望深入探索和学习吗?Flutter 从零到一:基础入门到应用上线全攻略 正是你的完美起点!

📘 在这个专栏中,你将发现丰富的 Flutter 学习资源,从代码示例到深入的技术解读,一应俱全。
🛠️ 想要了解如何用 Flutter 构建出色的应用吗?所有的秘诀和答案都在我们的专栏里等着你!
💰 别再犹豫,专栏内容将不断更新,价格也将逐渐上涨。现在就加入,享受最优惠的价格,开启你的 Flutter 探索之旅!

想了解更多?点击这里查看 Flutter Developer 101:入门小册 & 专栏指引

👥 还有,别忘了点击这里 加入我们的讨论群,与其他 Flutter 爱好者一起交流和学习,共同成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1618877.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

node.js安装好后测试报错解决

node.js的版本是18.X.X node.js安装好后&#xff0c;执行命令&#xff1a; npm install express -g 报错&#xff01;&#xff01;&#xff01; 解决办法&#xff1a; 看报错是由于权限不够&#xff0c; 所以打开cmd时&#xff0c;以管理员的方式打开 然后再执行命令就OK了…

dataframe更改数据的方法(超级简单易懂!!!)

&#xff1a;&#xff1a;&#xff1a;&#xff1a;插入数据 import pandas as pd import numpy as npdfpd.DataFrame(data[[zs,18,1],[ls,19,1],[ww,17,2]],index[stu0,stu1,stu2],columns[name,age,group]) df 更改单个数据的方法 取出数据后直接赋值&#xff08;一般用不到…

怎样把PDF转换成WORD简单有效

其实文件格式转换的方法大同小异。无非就是选择格式&#xff0c;添加文件&#xff0c;开始转换&#xff0c;但是就这简单的几步&#xff0c;操作不好也会造成转换失败&#xff0c;下面小编以最常见的pdf转换成word格式为例&#xff0c;给大家详细说说pdf转换成word需要注意的地…

如何將人臉變漂亮(一)

利用 mediapipe 進行處理 規劃 1.先把人臉辨識&#xff0c;然後取出框框 2.把框框內的人臉&#xff0c;進行美容 -高反差保留 (1)曝光度調整 (2)綠色與藍色&#xff0c;疊加 (3)YUCIHighPassSkinSmoothingMaskBoost -調整圖像亮度 -混合 3.把人臉的嘴巴&#xff0c;進行塗紅 4.…

pdf转word文档怎么转?看完这篇你就会了

随着数字化时代的到来&#xff0c;电子文档的使用越来越普遍。无论是在学校里撰写论文、在公司里编辑报告&#xff0c;还是在日常生活中收到合同或简历&#xff0c;我们都可能遇到需要将pdf文件转换为word格式的情况。这时&#xff0c;一款高效且易用的pdf转word软件便成为我们…

那种单眼皮小眼睛塌鼻梁厚嘴唇但还挺好看的女生

那种单眼皮小眼睛塌鼻梁厚嘴唇但还挺好看的女生 Data Dance Data Dance大数据采集分析软件&#xff0c;大数据技术经典算法 只有不符合大众审美的人&#xff0c;所以每个人都是美的&#xff01;你们通过这篇文章认识了照片上的我&#xff0c;但如果你们在现实生活中见到我&…

pdf如何转换成word格式最简单

当我们遇到难题的时候&#xff0c;应该积极地寻找方法去解决问题&#xff0c;特别是工作中&#xff0c;只有遇到问题解决问题才能更好的完成工作&#xff0c;拿文件转换问题来说&#xff0c;遇到难转换的文件格式&#xff0c;我们只要积极寻找解决方法还是可以轻松完成转换的。…

pdf怎么转换成word 文档?这几个小妙招别错过

pdf怎么转换成word 文档&#xff1f;想必大家都经常遇到这样的问题&#xff1a;在网上下载了一个 pdf 文件&#xff0c;但是突然需要对其中的文字进行编辑&#xff0c;但是 pdf 文件却不支持直接编辑&#xff0c;这时就需要将 pdf 文件转换成 word 文档&#xff0c;进行编辑。下…

pdf转word文档怎么转?手把手教你转换

随着数字化时代的到来&#xff0c;电子文档在我们的生活和工作中扮演着越来越重要的角色。尤其是pdf格式的文件&#xff0c;由于其可靠性和跨平台的特性&#xff0c;成为了广泛使用的标准文档格式之一。然而&#xff0c;当我们需要对pdf文件进行编辑时&#xff0c;尤其是将其转…

Pandas Dataframe Drop函数的用法

Pandas Dataframe Drop函数的用法 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop.html

怎么把照片变年轻?这两个照片变年轻小妙招教给你

怎么把照片变年轻呢&#xff1f;随着年龄的增长&#xff0c;许多人会感到自己不再年轻&#xff0c;失去了曾经的美貌和活力。通过将照片变年轻&#xff0c;你可以重新体验过去的感觉&#xff0c;回忆起年轻时的美好时光&#xff0c;仿佛回到了过去&#xff0c;让我们感受到那段…

单眼皮眼妆学起来 打造电眼只需六步

很多内双或者单眼皮的MM们都很不自信&#xff0c;觉得自己的眼睛长得不够好看,对于单眼皮怎么画眼线一无所知&#xff0c;所以就不愿意化妆&#xff0c;而且就算化妆也得贴个双眼皮贴&#xff0c;看起来很不自然。其实不一定&#xff0c;现在国际上都爱单眼皮呢!今天&#xff0…

单眼皮比双眼皮高等?

郑昀 20091012 看到一条 玩聚RT 上榜消息&#xff1a;“ RT lookon RT Klaith: 交大医学院的某主任教授曾经和我们吹牛&#xff0c;说单眼皮的人比双眼皮的高等&#xff0c;因为除人以外的动物都只有双眼皮。22次锐推 | 最早发布于2009-10-11 ”。 果真如此&#xff1f; 1、狗…

Docker网络-探索容器网络如何相互通信

当今世界&#xff0c;企业热衷于容器化&#xff0c;这需要强大的网络技能来正确配置容器架构&#xff0c;因此引入了 Docker Networking 的概念。Docker 是一种容器化平台&#xff0c;允许您在独立、轻量级的容器中运行应用程序和服务。Docker 提供了一套强大的网络功能&#x…

Redis 10 大数据类型

1. which 10 1. redis字符串 2. redis 列表 3. redis哈希表 4. redis集合 5. redis有序集合 6. redis地理空间 7. redis基数统计 8. redis位图 9. redis位域 10. redis流 2. 获取redis常见操作指令 官网英文&#xff1a;https://redis.io/commands 官网中文&#xff1a;https:/…

python+mysql+前后端分离国内职位数据分析(源码+文档+指导)

系统阐述的是使用国内python职位数据分析系统的设计与实现&#xff0c;对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计&#xff0c;描述&#xff0c;实现和分析与测试方面来表明开发的过程。开发中使用了 Flask框架和MySql数据库技术搭建系统的整体…

测试渗透前置知识-行业术语

测试渗透前置知识-行业术语 1.肉鸡3.远控4.黑页5.挂马6.大马7.小马8.一句话后门9.后门10.拖库11.社工库12.撞库13.提权14.网络钓鱼15.社会工程学攻击16.rootkit17.IPC$18.弱口令19.默认共享20.shell21.交互式shell22.webshell23.溢出24.注入25.注入点26.旁站入侵27.C段渗透28.内…

TRYLIVE CLOTHING:AR个人魔法试衣间,试尽网上任何衣服

没有有这样的时候&#xff1f;在网上看中了一件衣服或者裤子&#xff0c;就算所有信息都知道了也不知道衣服是否合身&#xff0c;穿上去感觉如何&#xff0c;有的衣服看上去好看&#xff0c;上身效果不一定要。就算在实体店&#xff0c;有时看了很多衣服想试&#xff0c;但又不…

基于3D人像复原技术的试衣平台

基于3D人像复原技术的试衣平台 摘要 近年来&#xff0c;随着社会的进步与发展&#xff0c;人们的物质生活得到了极大的丰富&#xff0c;对衣食住行的要求也越来越高&#xff0c;为了更好地适应现代化生活的需求&#xff0c;网上试衣软件、平台的研究也一直没有停止过&#xf…

虚拟试衣镜 疫情期间实体服装店的救世主还是理想丰满现实骨感的“拔草神器”?

文/智能相对论&#xff08;aixdlun&#xff09; 作者/离离 在科技发达的今天&#xff0c;3D虚拟试衣镜早已不是新鲜的概念。越来越多商场、购物平台与服装企业都曾尝试推出此服务&#xff0c;但虚拟试衣镜却似乎迟迟未受到消费者青睐。 不用穿&#xff0c;也能试 虚拟试衣镜…