第一百七十九回 自定义SlideImageSwitch

文章目录

  • 1. 概念介绍
  • 2. 思路与方法
    • 2.1 实现思路
  • 3. 代码与效果
    • 3.1 示例代码
    • 3.2 运行效果
  • 4. 内容总结

我们在上一章回中介绍了"SlideSwitch组件"相关的内容,本章回中将介绍自定义SlideImageSwitch.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在前面章回中介绍了Switch组件相关的内容,不过该组件只能在水平方向上使用,通俗点讲就是只能沿着水平方向滑动Switch。如果想沿着垂直文峰滑动Switch怎
么办呢?看官莫急,本章回中将介绍如何在垂直方向上使用该组件。

2. 思路与方法

2.1 实现思路

我们想要在垂直方向上使用该组件首先想到是组件的属性,不过查看文档和源代码后没有发现可以控制滑动方向的属性。既然此路走不通那么就看看pub.dev上有没有三方
提供的组件,功夫不负有心人,我们还真找到了一个三方包提供的组件SlideSwitcher,该组件提供了direction属性来控制组件的方向.属性值有水平和垂直两个数
值,默认是水平方向。大家可以自己动手去使用该组件,详细的用法参考组件给的示例代码就可以,下面的图形是我们使用该组件创建水平和垂直方向的switch.
不过该组件有一个缺点:只能修改滑动条的颜色,无法修改滑动条默认的图片。025switch
这两种思路都走不通,于是我们想到了另外一种思路:把现在的switch旋转90度,这样就可以在垂直方向滑动switch了。我们动手实践后发现按照此思路可以实现垂直
方向的switch。这里只提供思路,详细的实现方法请参考后面小节中内容。

3. 代码与效果

3.1 示例代码

介绍完该组件相关的属性后,我们通过具体的示例代码来演示如何使用SideSwitch组件。

SlideSwitcher(containerHeight: 50,containerWight: 200,onSelect: (value){},children:const [Text("Open"),Text("Close"),],
),

上面的示例代码中演示了SlideSwitch组件的使用方法,不过只有必选属性的用法,其它属性的用法没有演示,留给大家去自行探索吧。

3.2 运行效果

把上面的示例代码赋值给Scaffold组件的body属性,然后编译并且运行该程序就可以得到下面的运行效果图,这个效果图是SideSwitch组件默认的效果,大家可以通
过可选属性来修改它的外观风格和颜色,进而实现不同的效果图。此外,图中有两个小的Switch与本章回内容无关,大家可以忽略它们。
在这里插入图片描述

4. 内容总结

最后,我们对本章回的内容做一些全面的总结:

  • SlideSwitch组件是三方包提供的组件,它可以提供和Switch相同的功能;
  • SlideSwitch组件可以包含多个状态,并且在这些状态之间进行切换;
  • SlideSwitch组件提供了相关的属性来设置不同的外观风格,大小和颜色;
  • SliderSwitch组件提供水平和垂直两种滑动方向;

看官们,与"自定义SlideImageSwitch"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营 ---第四十二天

今天开始学习 动态规划:背包问题 也是比较难的一部分了 动态规划:背包问题 理论基础 01背包(二维数组) 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用…

网络运维与网络安全 学习笔记2023.11.25

网络运维与网络安全 学习笔记 第二十六天 今日目标 ACL原理与类型、基本ACL配置、高级ACL配置 高级ACL之ICMP、高级ACL之telnet ACL原理与类型 项目背景 为了企业的业务安全,要求不同部门对服务器有不同的权限 PC1不能访问Server PC2允许访问Server 允许其他所…

求集合的笛卡尔乘积

求集合的笛卡尔乘积 一:【实验目的】二:【实验内容】三:【实验原理】四:代码实现: 一:【实验目的】 通过编实现给定集合A和B的笛卡尔积CAA,DAB,EBA,FAAB,GA(A*B). 二:【实验内容】…

【Android Gradle】之Gradle入门及 wrapper 生成(一)

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

illuminate/database 使用 四

文档:Hyperf Database: Getting Started - Laravel 10.x - The PHP Framework For Web Artisans 因为hyperf使用illuminate/database,所以按照文章,看illuminate/database代码实现。 一、读写分离 根据文档读写的host可以分开。设置读写分…

系列十六、Spring IOC容器的扩展点

一、概述 Spring IOC容器的扩展点是指在IOC加载的过程中,如何对即将要创建的bean进行扩展。 二、扩展点 2.1、BeanDefinitionRegistryPostProcessor 2.1.1、概述 BeanDefinitionRegistryPostProcessor是bean定义的后置处理器,在BeanDefinition加载后&a…

142.【Nginx负载均衡-01】

Nginx_基础篇 (一)、Nginx 简介1.背景介绍(1).http和三大邮局协议(2).反向代理与正向代理 2.常见服务器对比(1).公司介绍(2).lls 服务器(3).Tomcat 服务器(4).Apache 服务器(5).Lighttpd 服务器(6).其他的服务器 3.Nginx的优点(1).速度更快、并发更高(2).配置简单,扩…

力扣:提莫攻击

代码&#xff1a; class Solution { public:int findPoisonedDuration(vector<int>& timeSeries, int duration){//根据数组中给出的元素的值来进行判断&#xff01;//若后面元素-前面元素>d 中了d秒&#xff01;// <d 中了差的秒数&…

从0到0.01入门 Webpack| 008.精选 Webpack面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

常见位运算的详讲!

今日为大家详细讲解一番关于常见位运算的操作&#xff0c;本文主要介绍一些位运算的操作符&#xff0c;然后再通过简单->中等->困难的例题&#xff0c;让大家彻底搞懂关于位运算的知识&#xff01; 位运算的介绍&#xff01; 1.基础位运算 ">>"右移操作…

WebGL/threeJS面试题扫描与总结

什么是 WebGL&#xff1f;什么是 Three.js&#xff1f;请解释three.js中的WebGL和Canvas的区别&#xff1f; WebGL(全写Web Graphics Library)是一种3D绘图协议&#xff0c;这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起&#xff0c;通过增加OpenGL ES 2.0的一个…

Cortex-M与RISC-V区别

环境 Cortex-M以STM32H750为代表&#xff0c;RISC-V以芯来为代表 RTOS版本为RT-Thread 4.1.1 寄存器 RISC-V 常用汇编 RISC-V 关于STORE x4, 4(sp)这种寄存器前面带数字的写法&#xff0c;其意思为将x4的值存入sp4这个地址&#xff0c;即前面的数字表示偏移的意思 反之LOA…