Jetpack:026-Jetpack中的Slider

文章目录

  • 1. 概念介绍
  • 2. 使用方法
  • 3. 代码与效果
    • 3.1 示例代码
    • 3.2 运行效果
  • 4. 内容总结

我们在上一章回中介绍了Jetpack多点触控相关的内容,本章回中 主要介绍Slider。闲话休提,让我们一起Talk Android Jetpack吧!

1. 概念介绍

我们在本章回中介绍的Slider就是一个类似进度条的滑动条,与进度条不同的是它不能自动显示进度,需要用户手动拖动滑块才可以显示进度,它常用的场景是调节音量和亮度,这个场景估计大家在手机上都使用过。在Jetpack compose中使用Slider可组合函数表示Slider,本章回中将详细介绍它的使用方法。

2. 使用方法

可组合函数Slider提供了相关参数来控制自己,下面是常用的参数:

  • enabled参数:主用来控制是否可以拖动滑动块;
  • value参数:主要用来控制滑动时的进度;
  • onValueChange参数:滑动值发生变化时调用的函数;
  • colors参数:主要用来控制滑动块,滑动轨道的颜色;
  • valueRange参数:主要用来控制滑动值的范围,默认值为0-1;
  • steps参数:主要用来控制滑动时的步进值,我觉得理解为滑动轨道划分的份数比较合适;

上面介绍的这些参数中我重点对最后一个参数做说明,因为它的用法不好理解,它实际是把valueRange范围内的数据分成了steps+1份,真正的步进值需要用valueRange范围内的值除setps+1才可以。

除此之外,value参数也需要说明:最好给它传入一个状态值,这样才可以实时控制它的进度。我们将会在后面的小节中通过示例代码介绍这些参数的使用方法。

3. 代码与效果

3.1 示例代码

var sliderPosition2 by remember {mutableStateOf(0f)}Slider(modifier = Modifier.padding(horizontal = 16.dp),value = sliderPosition2,
//            enabled = false,//滑动值发生变化时调用onValueChange = { sliderPosition2 = it },colors = SliderDefaults.colors(//滑动条头部的颜色thumbColor = Color.Red,//滑动轨道的颜色activeTrackColor = Color.Green,inactiveTrackColor = Color.Blue,//滑动轨道上刻度尺的颜色activeTickColor = Color.White,inactiveTickColor = Color.Red,),//滑动值的范围,默认0-1,值为浮点类型valueRange = 1f..10f,//滑动的步进值,注意需要用range除setps+1才是真正的步进值,比如这里的步进值是10/5=2//它会在进度显示4个分段标记steps = 4,
)
Text(text = sliderPosition2.toString())

我们在上面的示例代码中添加了详细的注释,这样有助于大家理解代码,代码中使用了状态值sliderPosition2来控制Slider的进度,代码中还添加了一个Text,它主要用来显示进度值。

结合代码来看一下Slider的步进值:取值范围是1-10,setps值为4,真正的步进值10/5=2。这个步进值是不说滑动一次前进2个进度,而是把整个滑动轨道分成了5部分,它每次步进的内容是按照实际进度值进行的,我们在这里不做详细介绍,遇到具体的需求了再做分析。

3.2 运行效果

编译并且运行上面的示例代码,可以得到以下的运行效果图,建议大家自己动手去实践一下,这样才能体会到滑动时的值的变化。

在这里插入图片描述

此外,compose的中Slider与以前View中的Slide在效果上有一个不同点,它会在轨道上显示步进的标记点,类似刻度尺上的刻度,为了方便大家观察,我把它设置成了红色。大家可以仔细看一下。

4. 内容总结

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

  • 在compose中使用Slider可组合函数实现滑动条;
  • Slider通过相关的参数控制滑动的进度和外观颜色;
  • Slider需要配合一个状态值使用,这样可以实际控制进度值;
  • Slider在外观上会显示步进值,这是与其它Slider不同的地方;

看官们,与Jetpack中Slider相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

UEditorPlus v3.6.0 图标补全,精简代码,快捷操作重构,问题修复

UEditor是由百度开发的所见即所得的开源富文本编辑器,基于MIT开源协议,该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器,主要做了样式的定制,更符…

AI技术发展:防范AI诈骗,守护数字安全

随着AI技术的迅猛发展,人工智能赋予了计算机更多的能力,包括自然语言处理、图像生成、声音合成等。这些领域的突破为人们提供了全新的体验和便捷,但同时也催生了一些潜在的安全风险,其中最突出的就是AI诈骗。本文将探讨如何防范AI…

竖版视频怎么做二维码?扫码播放竖版视频的方法

当我们在将视频转二维码图片展示的时候,一般横版视频在手机展示不会有影响,但是竖版视频会默认用横版的方式播放就会导致无法清晰的看到画面的内容,那么如何将竖版视频生成二维码是很多小伙伴头疼的一个问题。那么下面教大家使用二维码生成器…

Java程序员面试核心知识--Java基础知识(一)

目录 一、Java程序初始化顺序 二、Java的Clone方法作用 三、 OverLoad(重载)与Override(重写)区别 四、abstract class(抽象类)与interface(接口)的异同 五、String、StringBuf…

3D RPG Course | Core 学习日记三:Navigation智能导航地图烘焙

前言 前面我们已经绘制好了一个简单的地图场景,现在我们需要使用Navigation给地图做智能导航,以实现AI自动寻路,以及设置地图的可行走区域以及不可行走区域,Navigation的基础知识、原理、用法在Unity的官方文档,以及网…

【23真题】难!均79分!211题目强过985!

今天分享的是23年海南大学838的信号与系统试题及解析。 本套试卷难度分析:22年海南大学838考研真题,我也做过,若有需要戳这里自取!平均分为80-90左右,最高分为133分。本套试题难度中等偏上,题量不多&#…

瓦斯抽采VR应急救援模拟仿真系统筑牢企业安全生产防线

矿工素质对安全生产的影响很大。传统的煤矿安全事故培训出于条件差、经验少加上侥幸心理,导致其在教学内容时过于简单且不切合实际,无法真正发挥培训作用。瓦斯检查作业VR模拟实操培训通过真实还原煤矿作业环境,让受训者身临其境地进入三维仿…

chatgpt接口调用

在线接口文档: https://app.apifox.com/invite?tokensymrLP7sojF6N31kZqnpZ 接口地址 https://chat.xutongbao.top/api/light/chat/createChatCompletion 请求方式 POST 请求参数 token String, 必须 prompt Array, 必须 例子一: 包含上下文 [ { "…

golang 发起 http 请求,获取访问域名的 ip 地址(net, httptrace)

前言 今天碰到了个需求,我要知道程序对外访问的 http 请求域名的 ip 地址。 直接查看 golang 的 net/http 包,发现 Response 中并没有我想要的 ip 信息。 考虑到在 OSI 七层模型中,ip 是网络层协议,而 http 是应用层协议。去翻…

NSGA-II 遗传多目标算法(python示例)

一、前言 最近在准备毕业论文,研究了一下主流的多目标算法,对于NSGA-II,网上大部分代码是全部是面向过程来实现的,本人更喜欢采用面向对象的方式,故采用python面向对象实现了一个示例,实现了对于二元多目标…

vue el-table-column 修改一整列的背景颜色

目录 修改表头以及一整列数据的背景颜色,效果如下: 总结 修改表头以及一整列数据的背景颜色,效果如下: 修改表头背景颜色:在el-table绑定header-cell-style 修改一整列的数据背景颜色:在el-table绑定:cel…

机器学习---支持向量机的初步理解

1. SVM的经典解释 改编自支持向量机解释得很好 |字节大小生物学 (bytesizebio.net) 话说,在遥远的从前,有一只贪玩爱搞破坏的妖怪阿布劫持了善良美丽的女主小美,智勇双全 的男主大壮挺身而出,大壮跟随阿布来到了妖怪的住处&…

美观且可以很方便自定义的MATLAB绘图颜色

函数介绍 主函数是draw_test,用于测试函数。 draw_h是函数,用于给Matlab提供美观且可以很方便自定义的绘图颜色。 draw_h函数介绍 这是一个带输入输出的函数,输入1/2/3,输出下面三种颜色库的配色,每种库均有五种颜色…

Java学习_day07_类的构造器代码块继承封装多态

文章目录 构造器格式注意点使用 代码块格式注意 继承格式注意点 封装包声明包导包注意点 访问修饰符 多态格式注意点代码演示 构造器 Java中每个类都至少有一个构造器,当程序员没有明确编写构造器时,Java编译器会自动为类添加一个无参的构造器。构造器通…

分享一下在微信小程序怎么发送优惠券

在微信小程序中,发送优惠券是一种常见的营销手段,它能够吸引用户购买商品或服务,提高销售业绩和用户忠诚度。本文将介绍在微信小程序中如何发送优惠券,包括优惠券的种类、发放方式、制作和推广等,帮助您更好地利用优惠…

沉痛悼念科研分公司

今天上班途中,遇到了上家公司的同事王强。他正准备去体检中心体检。几句寒暄之后,得知他是要入职选煤公司了。 我们所在的公司比较大,总公司下设有几十个分、子公司,我和他曾经在一家子公司——科研分公司。现在的科研分公司解散…

利用Vue2实现印章徽章组件

需要实现的组件效果&#xff1a; 该组件有设置颜色、大小、旋转度数和文本内容功能。 一、组件实现代码 <template><divclass"first-ring"v-bind"getBindValue":class"getStampBadgeClass":style"{ transform: rotate(${rotate}…

前端css介绍

CSS介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 CSS语法 CSS实例 每个CSS样式由两个组成部分&#xff1a;选择器和…

基于springboot实现游戏分享网站系统项目【项目源码+论文说明】

基于springboot实现游戏分享网站演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把游戏分享管理与现在网络相结合&#xff0c;利用java技术建设游戏分享网站&#xff0c;实现游戏分享的信息化。则对于进一步提高游戏分享管理发展&#xff0c;丰富游戏分享管理经验能起到…

超高真空变温台的真空压力和气氛精密控制解决方案

摘要&#xff1a;针对目前国内外显微镜探针冷热台普遍缺乏真空压力和气氛环境精密控制装置这一问题&#xff0c;本文提出了解决方案。解决方案采用了电动针阀快速调节进气和排气流量的动态平衡法实现0.1~1000Torr范围的真空压力精密控制&#xff0c;采用了气体质量流量计实现多…