鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Slider组件

 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Slider组件

一、操作环境

操作系统:  Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1+

二、Slider组件

滑动条组件,通常用于快速调节设置值,如音量调节、亮度调节等应用场景。

子组件

无。

接口

Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direction?: Axis, reverse?: boolean})

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数

参数名

参数类型

必填

参数描述

value

number

当前进度值。

默认值:参数min

min

number

设置最小值。

默认值:0

max

number

设置最大值。

默认值:100

说明:

min >= max异常情况,min取默认值0,max取默认值100。

value不在[min, max]范围之内,取min/max,靠近min取min,靠近max取max。

step

number

设置Slider滑动步长。

默认值:1

取值范围:[0.01, max]

说明:

设置小于0或百分比的值时,按默认值显示。

style

SliderStyle

设置Slider的滑块与滑轨显示样式。

默认值:SliderStyle.OutSet

direction8+

Axis

设置滑动条滑动方向为水平或竖直方向。

默认值:Axis.Horizontal

reverse8+

boolean

设置滑动条取值范围是否反向,横向Slider默认为从左往右滑动,竖向Slider默认为从上往下滑动。

默认值:false

SliderStyle枚举说明

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称

描述

OutSet

滑块在滑轨上。

InSet

滑块在滑轨内。

属性

支持除触摸热区以外的通用属性设置。

名称

参数类型

描述

blockColor

ResourceColor

设置滑块的颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

trackColor

ResourceColor

设置滑轨的背景颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

selectedColor

ResourceColor

设置滑轨的已滑动部分颜色。

从API version 9开始,该接口支持在ArkTS卡片中使用。

showSteps

boolean

设置当前是否显示步长刻度值。

默认值:false

从API version 9开始,该接口支持在ArkTS卡片中使用。

showTips

boolean

设置滑动时是否显示百分比气泡提示。

默认值:false

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:

当direction的属性值为Axis.Horizontal时,tip显示在滑块正上方。值为Axis.Vertical时,tip显示在滑块正左边。

tip的绘制区域为Slider自身节点的overlay。

Slider不设置边距,或者边距比较小时,tip会被截断。

trackThickness

Length

设置滑轨的粗细。

默认值:当参数style的值设置SliderStyle.OutSet 时为 4.0vp,SliderStyle.InSet时为20.0vp。

从APIversion9开始,该接口支持在ArkTS卡片中使用。

说明:

设置为小于0的值时,按默认值显示。

事件

通用事件仅支持挂载卸载事件:OnAppear,OnDisAppear。

名称

功能描述

onChange(callback: (value: number, mode: SliderChangeMode) => void)

Slider滑动时触发事件回调。

value:当前滑动进度值。若返回值有小数,可使用number.toFixed()方法将数据处理为预期的精度。

mode:拖动状态。

从API version 9开始,该接口支持在ArkTS卡片中使用。

说明:Begin和End状态当手势点击时都会触发,Moving和Click状态当value值发生变换时触发。

当连贯动作为拖动动作时,不触发Click状态。

value值的变化范围为对应步长steps数组。

SliderChangeMode枚举说明

从API version 9开始,该接口支持在ArkTS卡片中使用。

名称

描述

Begin

0

手势/鼠标接触或者按下滑块。

Moving

1

正在拖动滑块过程中。

End

2

手势/鼠标离开滑块。

Click

3

点击滑动条使滑块位置移动。

示例

代码
// xxx.ets
@Entry
@Component
struct SliderExample {@State outSetValueOne: number = 40@State inSetValueOne: number = 40@State outSetValueTwo: number = 40@State inSetValueTwo: number = 40@State vOutSetValueOne: number = 40@State vInSetValueOne: number = 40@State vOutSetValueTwo: number = 40@State vInSetValueTwo: number = 40build() {Column({ space: 8 }) {Text('outset slider').fontSize(9).fontColor(0xCCCCCC).width('90%').margin(15)Row() {Slider({value: this.outSetValueOne,min: 0,max: 100,style: SliderStyle.OutSet}).showTips(true).onChange((value: number, mode: SliderChangeMode) => {this.outSetValueOne = valueconsole.info('value:' + value + 'mode:' + mode.toString())})// toFixed(0)将滑动条返回值处理为整数精度Text(this.outSetValueOne.toFixed(0)).fontSize(12)}.width('80%')Row() {Slider({value: this.outSetValueTwo,step: 10,style: SliderStyle.OutSet}).showSteps(true).onChange((value: number, mode: SliderChangeMode) => {this.outSetValueTwo = valueconsole.info('value:' + value + 'mode:' + mode.toString())})Text(this.outSetValueTwo.toFixed(0)).fontSize(12)}.width('80%')Text('inset slider').fontSize(9).fontColor(0xCCCCCC).width('90%').margin(15)Row() {Slider({value: this.inSetValueOne,min: 0,max: 100,style: SliderStyle.InSet}).blockColor('#191970').trackColor('#ADD8E6').selectedColor('#4169E1').showTips(true).onChange((value: number, mode: SliderChangeMode) => {this.inSetValueOne = valueconsole.info('value:' + value + 'mode:' + mode.toString())})Text(this.inSetValueOne.toFixed(0)).fontSize(12)}.width('80%')Row() {Slider({value: this.inSetValueTwo,step: 10,style: SliderStyle.InSet}).blockColor('#191970').trackColor('#ADD8E6').selectedColor('#4169E1').showSteps(true).onChange((value: number, mode: SliderChangeMode) => {this.inSetValueTwo = valueconsole.info('value:' + value + 'mode:' + mode.toString())})Text(this.inSetValueTwo.toFixed(0)).fontSize(12)}.width('80%')Row() {Column() {Text('vertical outset slider').fontSize(9).fontColor(0xCCCCCC).width('50%').margin(15)Row() {Slider({value: this.vOutSetValueOne,style: SliderStyle.OutSet,direction: Axis.Vertical}).blockColor('#191970').trackColor('#ADD8E6').selectedColor('#4169E1').showTips(true).onChange((value: number, mode: SliderChangeMode) => {this.vOutSetValueOne = valueconsole.info('value:' + value + 'mode:' + mode.toString())})Slider({value: this.vOutSetValueTwo,step: 10,style: SliderStyle.OutSet,direction: Axis.Vertical}).blockColor('#191970').trackColor('#ADD8E6').selectedColor('#4169E1').showSteps(true).onChange((value: number, mode: SliderChangeMode) => {this.vOutSetValueTwo = valueconsole.info('value:' + value + 'mode:' + mode.toString())})}}.width('50%').height(300)Column() {Text('vertical inset slider').fontSize(9).fontColor(0xCCCCCC).width('50%').margin(15)Row() {Slider({value: this.vInSetValueOne,style: SliderStyle.InSet,direction: Axis.Vertical,reverse: true // 竖向的Slider默认是上端是min值,下端是max值,因此想要从下往上滑动,需要设置reverse为true}).showTips(true).onChange((value: number, mode: SliderChangeMode) => {this.vInSetValueOne = valueconsole.info('value:' + value + 'mode:' + mode.toString())})Slider({value: this.vInSetValueTwo,step: 10,style: SliderStyle.InSet,direction: Axis.Vertical,reverse: true}).showSteps(true).onChange((value: number, mode: SliderChangeMode) => {this.vInSetValueTwo = valueconsole.info('value:' + value + 'mode:' + mode.toString())})}}.width('50%').height(300)}}.width('100%')}
}
图例

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

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

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

相关文章

响应式编程详解(持续更新)

响应式编程 1.多维度看全景1.1响应式编程(Reactive Programming )1.2函数式编程(Functional Programming, 简称FP)1.3技术演进1.4Rx是什么1.5[响应式宣言](https://www.reactivemanifesto.org/zh-CN) 2.钻进去看本质2.1名称解释(rajava)2.2观察者模式2.3…

注解(Java用于工具处理的标注)

一. 使用注解 1. 含义 注解是放在类,方法,字段,参数前的一种特殊“注释”,是一种用作标注的“元数据”。 2. 三类注解 1)由编译器使用的注解,不会编译进.class文件,编译后扔掉;如&…

MPLS VPN功能组件(4)

数据转发过程 VPN数据的转发 顶层公网标签 由LDP分配,指示LSR如何将标签报文从始发的源PE通过LSP标签交换到达目的PE 内层私网标签(VPN标签) 由MP-BGP分配,在将每一条客户路由变为VPNv4路由前缀时会自动为每一条VPNv4前缀关联一个标签 内层私网标签用于…

正版软件 - Proxyman:让网络调试变得更智能、更高效

在软件开发的世界里,网络调试一直是开发者和测试工程师的痛点。传统的调试工具往往操作复杂,界面不够直观,而且性能上也难以满足现代应用的需求。今天,我要向大家介绍一款名为Proxyman的网络调试工具,它以其简洁的界面…

springboot微信小程序 uniapp学习资料分享系统v9uy4

理论意义 当今网络教学已成为各国教育改革 和发展的趋势。因此,构建一个适合交互式课堂教学模式的教学平台就成了当务之 急。 在国内高校,目前交互平台主要用于网络学院的远程教学,至于校园内的正规教学,老师自发建立课程主页的比…

【学网攻】 第(24)节 -- 帧中继(点对点)

系列文章目录 目录 系列文章目录 文章目录 前言 一、帧中继是什么? 二、实验 1.引入 实验拓扑图 实验配置 在帧中继中配置通信链路​编辑 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 --…

【Linux网络编程三】Udp套接字编程网络应用场景

【Linux网络编程三】Udp套接字编程网络应用场景 应用场景一:远程命令执行应用场景二:与Windos端相互通信应用场景三:简单聊天1.多线程化2.输入输出分开 应用场景一:远程命令执行 简单的服务器上一篇已经完成,接下来我…

【AIGC核心技术剖析】AI生成音乐:MAGNeT一种直接操作多个音频令牌流的掩码生成序列建模方法

MAGNeT是一种直接操作多个音频令牌流的掩码生成序列建模方法。与先前的工作不同,MAGNeT由一个单阶段、非自回归的变压器组成。在训练期间,论文使用掩码调度器预测从掩码令牌中获得的跨度,而在推断期间,论文通过多个解码步骤逐渐构…

MySQL管理的常用工具(mysqldump备份工具,mysqlimport/source导入工具)

mysqldump mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表,及 插入表的SQL语句。 语法 : mysqldump [options] db_name [tables] mysqldump [options] --database/-B db1 [db2 db3...] mysqldump [options] -…

宋小黑原创高清壁纸分享之蓝白云海

大家好,我是小黑,最近迷上了制作壁纸,哈哈,给大家分享一波,小黑做的美图~ 本期给大家分享的是,小黑原创的蓝白云海主题系统壁纸~ 厌倦了一成不变的壁纸吗? 感到学习负担过重吗? …

python烟花绘制,春节祝福

春节将至,写一个烟花程序给亲近的人 核心逻辑 烟花类: 定义烟花的颜色,更新烟花的轨迹,爆炸,消失等功能,在烟花爆炸的同时也涉及到粒子的创建 class Firework:def __init__(self):# 随机颜色self.colou…

数据结构——单向链表和双向链表的实现(C语言版)

目录 前言 1. 链表 1.1 链表的概念及结构 1.2 链表的分类 2. 单链表接口实现 2.1 数据结构设计与接口函数声明 2.2 创建结点,打印,查找 2.3 尾插,头插,尾删,头删 2.4 插入或删除 2.4.1在指定位置后 2.4.2在…

制作二维码扫描器

目录 前言原料主要的库资源其它 制作准备工作界面功能封装扫描二维码扫描复制扫描结果 成果 打包结尾下载链接 本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。 因此,若需转载/引用本文,请注明作者并附原文链接&am…

云卷云舒:论超级数据库、算网数据库、智算数据库

笔者大胆提出一种“超级数据库”的概念设想。 一、超级能力 就像当初提出“超级计算机”一样,我们是否同样可以提出“超级数据库”的概念呢?当然不是不可以。 二、超级计算机 我们回忆一下“超级计算机”的发展之路,大致经过了如下几个环…

ChatGPT 变懒最新解释!或和系统Prompt太长有关

大家好我是二狗。 ChatGPT变懒这件事又有了最新解释了。 这两天,推特用户Dylan Patel发文表示: 你想知道为什么 ChatGPT 和 6 个月前相比会如此糟糕吗? 那是因为ChatGPT系统Prompt是竟然包含1700 tokens,看看这个prompt里面有多…

RabbitMQ-2.SpringAMQP

SpringAMQP 2.SpringAMQP2.1.创建Demo工程2.2.快速入门2.1.1.消息发送2.1.2.消息接收2.1.3.测试 2.3.WorkQueues模型2.2.1.消息发送2.2.2.消息接收2.2.3.测试2.2.4.能者多劳2.2.5.总结 2.4.交换机类型2.5.Fanout交换机2.5.1.声明队列和交换机2.5.2.消息发送2.5.3.消息接收2.5.4…

【Java IO】同步异步和阻塞非阻塞真正的区别!!!

先上结论: 同步异步和阻塞非阻塞真正的区别!!! 假设某个进程正在运行下面这段代码: ...... operatorA......; read(); operatorB......; operatorC......;当进程执行完operatorA后开始进行read系统调用,…

代码随想录 Leetcode376. 摆动序列

题目&#xff1a; 代码&#xff08;首刷看解析 2024年2月9日&#xff09;&#xff1a; class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size();int direction 0;//1上升&#xff0c;0下降int res 0;//res…

【Linux】Shell编程

Shell编程 目录 Shell编程1.shell基础1.输入重定向 & 输出重定向2.管道3.特殊字符(3.1)通配符(3.2)引号(3.3)注释符(#) 4.别名5.命令历史history 2.Shell脚本Shell脚本的执行方式(1)为脚本文件加上可执行权限,然后在命令行直接输入shell脚本文件名执行。(2)sh shell脚本名(…

STM32控制JQ8400语音播报模块

时间记录&#xff1a;2024/2/7 一、JQ8400引脚介绍 标示说明ONE LINE一线操作引脚BUSY忙信号引脚&#xff0c;正在播放语音时输出高电平RX串口两线操作接收引脚TX串口两线操作发送引脚GND电源地引脚DC-5V电源引脚&#xff0c;3.3-5VDAC-RDAC输出右声道引脚DAC-LDAC输出左声道…