news 2026/4/16 21:26:56

Android Jetpack Compose - Switch(切换)、Slider(滑块)、RangeSlider(范围滑块)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android Jetpack Compose - Switch(切换)、Slider(滑块)、RangeSlider(范围滑块)

一、Switch(切换)

1、基本介绍
funSwitch(checked:Boolean,onCheckedChange:((Boolean)->Unit)?,modifier:Modifier=Modifier,thumbContent:(@Composable()->Unit)?=null,enabled:Boolean=true,colors:SwitchColors=SwitchDefaults.colors(),interactionSource:MutableInteractionSource?=null,){}
参数说明
checked当前开关状态
onCheckedChange状态变化时的回调
modifier布局修饰符
thumbContent自定义滑块内容
enabled是否启用
colors自定义颜色,通过SwitchDefaults.colors()配置
interactionSource自定义交互状态反馈
2、演示
varcheckedbyremember{mutableStateOf(true)}Box(modifier=Modifier.fillMaxSize()){Switch(modifier=Modifier.align(Alignment.Center),checked=checked,onCheckedChange={checked=it})}
varcheckedbyremember{mutableStateOf(true)}Box(modifier=Modifier.fillMaxSize()){Switch(modifier=Modifier.align(Alignment.Center),checked=checked,onCheckedChange={checked=it},thumbContent=if(checked){{Icon(imageVector=Icons.Filled.Check,contentDescription=null,modifier=Modifier.size(SwitchDefaults.IconSize),)}}else{null})}
varcheckedbyremember{mutableStateOf(true)}Box(modifier=Modifier.fillMaxSize()){Switch(modifier=Modifier.align(Alignment.Center),checked=checked,onCheckedChange={checked=it},colors=SwitchDefaults.colors(checkedThumbColor=MaterialTheme.colorScheme.primary,checkedTrackColor=MaterialTheme.colorScheme.primaryContainer,uncheckedThumbColor=MaterialTheme.colorScheme.secondary,uncheckedTrackColor=MaterialTheme.colorScheme.secondaryContainer,))}

二、Slider(滑块)

1、基本介绍
funSlider(value:Float,onValueChange:(Float)->Unit,modifier:Modifier=Modifier,enabled:Boolean=true,valueRange:ClosedFloatingPointRange<Float>=0f..1f,@IntRange(from=0)steps:Int=0,onValueChangeFinished:(()->Unit)?=null,colors:SliderColors=SliderDefaults.colors(),interactionSource:MutableInteractionSource=remember{MutableInteractionSource()}){}
参数说明
value当前滑块的值
onValueChange值变化时的回调
modifier布局修饰符
enabled是否启用
valueRange值范围
stepssteps = 0(默认):滑块在 valueRange 内连续滑动
steps = 3:将范围分成 4 个等距档位,档位数 = steps + 1
onValueChangeFinished松开手指结束滑动时的回调
colors自定义颜色,通过SliderDefaults.colors()配置
interactionSource自定义交互状态反馈
2、演示
varsliderPositionbyremember{mutableFloatStateOf(0f)}Column(modifier=Modifier.fillMaxSize().padding(16.dp),horizontalAlignment=Alignment.CenterHorizontally,verticalArrangement=Arrangement.Center){Slider(value=sliderPosition,onValueChange={sliderPosition=it})Text(text=sliderPosition.toString())}
varsliderPositionbyremember{mutableFloatStateOf(0f)}Column(modifier=Modifier.fillMaxSize().padding(16.dp),horizontalAlignment=Alignment.CenterHorizontally,verticalArrangement=Arrangement.Center){Slider(value=sliderPosition,onValueChange={sliderPosition=it},colors=SliderDefaults.colors(thumbColor=MaterialTheme.colorScheme.secondary,activeTrackColor=MaterialTheme.colorScheme.secondary,inactiveTrackColor=MaterialTheme.colorScheme.secondaryContainer,),steps=3,)Text(text=sliderPosition.toString())}
varsliderPositionbyremember{mutableFloatStateOf(0f)}Column(modifier=Modifier.fillMaxSize().padding(16.dp),horizontalAlignment=Alignment.CenterHorizontally,verticalArrangement=Arrangement.Center){Slider(value=sliderPosition,onValueChange={sliderPosition=it},colors=SliderDefaults.colors(thumbColor=MaterialTheme.colorScheme.secondary,activeTrackColor=MaterialTheme.colorScheme.secondary,inactiveTrackColor=MaterialTheme.colorScheme.secondaryContainer,),steps=3,valueRange=0f..50f)Text(text=sliderPosition.toString())}

三、RangeSlider(范围滑块)

1、基本介绍
funRangeSlider(value:ClosedFloatingPointRange<Float>,onValueChange:(ClosedFloatingPointRange<Float>)->Unit,modifier:Modifier=Modifier,enabled:Boolean=true,valueRange:ClosedFloatingPointRange<Float>=0f..1f,@IntRange(from=0)steps:Int=0,onValueChangeFinished:(()->Unit)?=null,colors:SliderColors=SliderDefaults.colors()){}
参数说明
value当前滑块的值
onValueChange值变化时的回调
modifier布局修饰符
enabled是否启用
valueRange值范围
stepssteps = 0(默认):滑块在 valueRange 内连续滑动
steps = 3:将范围分成 4 个等距档位,档位数 = steps + 1
onValueChangeFinished松开手指结束滑动时的回调
colors自定义颜色,通过SliderDefaults.colors()配置
2、演示
varsliderPositionbyremember{mutableStateOf(0f..100f)}Column(modifier=Modifier.fillMaxSize().padding(16.dp),horizontalAlignment=Alignment.CenterHorizontally,verticalArrangement=Arrangement.Center){RangeSlider(value=sliderPosition,onValueChange={sliderPosition=it},onValueChangeFinished={Log.i(TAG,"松开手指结束滑动了")},valueRange=0f..100f)Text(sliderPosition.start.toString()+" - "+sliderPosition.endInclusive.toString())}
varsliderPositionbyremember{mutableStateOf(0f..100f)}Column(modifier=Modifier.fillMaxSize().padding(16.dp),horizontalAlignment=Alignment.CenterHorizontally,verticalArrangement=Arrangement.Center){RangeSlider(value=sliderPosition,onValueChange={sliderPosition=it},valueRange=0f..100f,steps=3,)Text(sliderPosition.start.toString()+" - "+sliderPosition.endInclusive.toString())}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:07:53

【预测模型】基于深度置信网络DBN锂电池寿命预测附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/4/16 11:01:58

CAN FD总线协议深度解析:技术特点与应用优势

&#x1f4e1; 核心背景与协议演进技术背景经典CAN局限&#xff1a;CAN 2.0A/2.0B协议&#xff08;1Mbps传输速率、8字节数据位宽&#xff09;已无法满足现代汽车电子系统对通信数据量和实时性的需求。协议推出&#xff1a;2012年由博世公司推出CAN FD&#xff08;Controller A…

作者头像 李华
网站建设 2026/4/15 16:47:32

刷机过程之安装FastBoot驱动 解决fastboot waiting for any device问题

安装google的usb devices驱动即可 下载地址:https://developer.android.com/studio/run/win-usb?hl=zh-cn 安装教程:https://zhuanlan.zhihu.com/p/366904302 核心步骤 设备管理器 其他设备 -> 感叹号设备 -> 右键 -> 更新驱动程序 -> 浏览我的计算机以查找驱动…

作者头像 李华
网站建设 2026/4/16 12:44:15

计算机毕业设计springboot高校学业导师工作管理系统 基于微服务架构的大学生学业指导与师生互动平台 高校本科生导师制数字化管理与学业辅导系统

计算机毕业设计springboot高校学业导师工作管理系统h22i2693 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。在高等教育内涵式发展的背景下&#xff0c;学业导师制度已成为高校落…

作者头像 李华
网站建设 2026/4/16 10:42:47

ADC 中的抗体:核心性能要求、功能机制与片段优化方向

抗体作为抗体偶联药物&#xff08;ADC&#xff09;的 “靶向导航核心”&#xff0c;其性能直接决定 ADC 的肿瘤靶向精度、富集效率与治疗安全性。优质的 ADC 抗体需满足高亲和力、高特异性等核心要求&#xff0c;同时通过功能机制介导肿瘤细胞内吞与载荷释放&#xff1b;而原生…

作者头像 李华