第六十回: 如何创建垂直版Slider

news/2024/12/1 20:44:34/

文章目录

  • 概念介绍
  • 创建方法
    • RotatedBox
    • Transform
  • 示例代码

我们在上一章回中介绍了 Slider Widget相关的内容,本章回中将介绍如何创建垂直版Slider.闲话休提,让我们一起Talk Flutter吧。

概念介绍

正常的Slider组件是沿着水平方向滑动,或者叫沿着x轴方向滑动,有时候需要让Slider沿垂直方向滑动,或者叫沿着y轴方向滑动。比如通过在垂直方向上滑动来调节音量的大小。本章回中将介绍如何创建垂直版的Slider组件。

创建方法

创建垂直版Slider的思路:先创建一个水平版的Slider,然后将它旋转90度或者270度。这样就是得到了一个垂直版的Slider.旋转的方法有两种,详细如下:

RotatedBox

通过RotateBox组件来旋转Slider,该组件是容器类组件,把等待旋转的Slider组件赋值给它的child属性,然后给该组件的quarterTurns属性赋值,通常使用1到4就可以,1表示顺时针旋转90度,2表示顺时针旋转180度,其它值依此类推。

Transform

通过Transform组件来旋转Slider,该组件是容器类组件,旋转组件时使用transformrotate()方法,把等待旋转的Slider组件赋值给该方法的child属性,然后给该方法的angle属性赋值,注意需要使用弧度值,常用的做法是使用pi/2,pi这样的值来赋值,这里使用的pi是math类的成员,因此需要在文件中导入math包。

我们给出了两种旋转方法,如何选择呢?看看它们之间的区别就知道该如何选择了:

  • Transform在绘制时旋转,效率高,但是组件自身的布局(比如长度和宽度)没有发生转。
  • RotatedBox会把组件的布局也进行旋转。虽然效率低一些,但是旋转的操作比较完整。

示例代码

Widget _slider() {return Slider(//指定滑动值的范围,如果不指定,默认值的范围在0.0 - 1.0之间min: 0.0,max: 10.0,//步进值divisions: 10,//设定当前值value: _slideValue,//用来显示当前的滑动值,文字位于滑块上方label: "Value is: ${_slideValue.toInt()}",onChanged: (value) {setState(() {_slideValue = value;print("value = $value");});},activeColor: Colors.purpleAccent,inactiveColor: Colors.green,);RotatedBox(child: _slider(),//赋值1-4就可以实现旋转效果quarterTurns: 1,
),
Transform.rotate(//通过指定的弧度进行旋转angle: pi / 2,child: _slider(),
),

在上面的代码中,我们把Slider组件封装成了一个方法,然后将其赋值给RotatedBoxTransform的child属性,接着修改RotatedBox和Transform的旋转角度。这样就得到了一个垂直版本的Slider,可以沿着y轴方向滑动该slider.我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

看官们,关于如何创建垂直版Slide相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!


http://www.ppmy.cn/news/496791.html

相关文章

Windows下Mathtype7安装及其在Word中的加载方法

最近购置了新电脑,激活Office后需对其进行安装Mathtype7,在配置过程中遇到许多问题,并借鉴了CSDN中的许多解决方案,现对其进行整理归纳,以避免大家后续踩坑。 ps:由于后续涉及到Mathtype的**,后…

MathType如何导入word

目标:分别安装好office 和 Mathtype。Mathtype激活不激活对这个没有影响。如何将MathType 成 功以及如何导入word 中。 出现失败的原因: 1.版本兼容性问题 我用的是win10 office2016 mathtype 7 一般问题不大 2.确定受信任位置 (这个很重要…

Word2Vec解释

Word2Vec解释 一、Word2Vec梗概 字面意思:即Word to Vector,由词到向量的方法。 专业解释:Word2Vec使用一层神经网络将one-hot(独热编码)形式的词向量映射到分布式形式的词向量。使用了Hierarchical softmax&#x…

编程实现操作word文档 c#

建立一个自己的类 //word 类, /* 1. 添加引用COM里面的 Microsoft Word 12.0 Object. Library 引用(12.0表示Word 2007版本) 2. 导命名空间 using Word =Microsoft.Office.Interop.Word; using System.IO; using System.Reflection; 3. 把引用中的Microsoft.Office.…

VBA word 常用代码及注释

(1) Option Explicit ‘强制对模块内所有变量进行声明 (2) Option Base 1 ‘指定数组的第一个下标为1 (3) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (4) On Error GoTo 100 ‘当错误发生时跳转到过程中的某个位置 (5) On Error GoTo 0 ‘恢复正常…

word 安装

亲测可用,记录一下 😆安装word步骤😆 office tool plus ❤️1. 下载安装:🧡2. 解压💛3. 移除💚4. 安装部署💙5. 激活🤍 总结 ❤️1. 下载安装: 官网下载offic…

PCB设计实验|第二周|谐波振荡电路实验|3月6日

目录 实验二 谐波振荡电路实验 一、实验原理 二、实验环境 三、实验结果及分析 四、实验总结 实验二 谐波振荡电路实验 一、实验原理 利用深度正反馈,通过阻容耦合使两个电子器件交替导通与截止,从而自激产生方波输出的振荡器,常用作…

第五届双态IT北京用户大会回顾 | 基于运维数据治理的数智化转型

专题演讲人:擎创科技CTO 葛晓波 文末附有本场专题演讲视频 ●前言 各行业的云原生发展程度各有不同,并不是所有业务应用都适合云原生的形态,如若过度追求云原生化反而会使得企业运维压力骤增,运维成本激增。 从数字化转型的角度…