徒手绘制 Android 通用进度条
拖动条(FlexSeekBar),在Android的各个地方都非常常用,本文旨在自研一套通用的进度条,非常适合车载App使用
样式如下:

使用示例
<!--默认用法-->
<com.max.android.ui.seekbar.FlexSeekBarandroid:id="@+id/seekbar_demo_default"android:layout_width="1000px"android:layout_height="wrap_content"android:layout_marginTop="32px"android:max="10000"android:min="0"android:paddingStart="36px"android:paddingEnd="36px"app:layout_constraintStart_toStart0f="parent"app:layout_constraintTop_toBottomOf="@id/seekbar_demo_default_title" /><!--使用自定义容器包裹,可拓展触摸范围-->
<com.max.android.ui.seekbar.FlexSeekBarContaineandroid:id="@+id/seekbar_demo_dragging_containe""""android:layout_width="wrap_content"android:layout_height="300px"android:layout_marginTop="32px"android:background="@color/lui_core_pure_white_20"app:layout_constraintStart_toStart0f="parent"app:layout_constraintTop_toBottomOf="@id/seekbar_demo_dragging_title"><com.max.android.ui.seekbar.FlexSeekBarandroid:id="@+id/seekbar_demo_dragging"android:layout_width="1500px"android:layout_height="wrap_content"android:layout_gravity="center"android:background="@null"android:max="10000"android:min="0"android:paddingStart="36px"android:paddingEnd="36px"app:lui_drag_track_height="28px"app:lui_drag_trial_thumb_size="36px"app:lui_thumb_size="56px"app:lui_track_height="8px"app:lui_trial_thumb_size="24px" /></com.max.android.ui.seekbar.FlexSeekBarContainer>
接口说明
/*** 是否开启动效*/
var animEnable:Boolean = true/*** 是否开启可通过点击改变进度*/
var enableClick:Boolean = true/*** 是否显示track进度,如果false,则仅显示thumb*/
var enableTrackProgress: Boolean = true/** * 隐藏/展示进度*/
var hideProgress: Boolean = false/*** 滑轨高度,单位px,默认8*/
var trackHeightPx: Int = 8/*** 拖动状态滑轨高度,单位px,默认14*/
var dragTrackHeightPx: Int = 14/** * 滑块大小,单位px,默认48*/
var thumbSizePx: Int = 48/*** 试听点drawable* 2.0.0版本废弃*/
@Deprecated
var trialThumb: Drawable? = null/*** 试听点尺寸* 2.0.0版本废弃*/
@Deprecated
var trialThumbSizePx: Int = 12/*** 拖动时试听点尺寸* 2.0.0版本废弃*/
@Deprecated
var dragTrialThumbSizePx: Int = 22/*** 试听范围起始点* 2.0.0版本废弃*/
@Deprecated
var start: Int = INVALID_TRAIL_POINT/**
* 试听范围结束点
* 2.0.0版本废弃
*/
@Deprecated
var end: Int = INVALID_TRAIL_POINT
参数说明
- anim_enable: boolean,是否开启动效,默认:开
- click_enable: boolean,是否允许通过点击改变进度,默认:允许
- disabled: boolean,是否停用进度条,默认:不停用
- track_height: dimensition|reference,滑轨高度,默认:8px
- drag_track_height: dimension|reference,拓动状态滑轨高度,默认:14px
- thumb_size: dimension|reference,滑块直径,默认48px
接入后即可完成使用,样式和使用API都会比系统的更好用
需要体验sdk的朋友,或者想要参考源码的,可以评论留下联系方式,我会第一之间发给你。
相关文章:
徒手绘制 Android 通用进度条
拖动条(FlexSeekBar),在Android的各个地方都非常常用,本文旨在自研一套通用的进度条,非常适合车载App使用 样式如下: 使用示例 <!--默认用法--> <com.max.android.ui.seekbar.FlexSeekBarandroi…...
【TB作品】矩阵键盘电话拨号,ATMEGA16单片机,Proteus仿真 atmega16矩阵键盘电话拨号
atmega16矩阵键盘电话拨号 c代码和仿真图: 使用ATmega16实现矩阵键盘电话拨号功能 项目背景 在电子设计和嵌入式系统开发中,矩阵键盘是常见的人机交互方式。它可以实现较多按键的输入,同时节省单片机的I/O资源。结合LCD显示和蜂鸣器&am…...
JavaScript(6)——数据类型转换
为什么需要类型转换? JavaScript是弱数据类型:JavaScript不知道变量到底属于哪种数据类型,只有赋值了才清除 使用表单,prompt获取的数据默认为字符串类型,此时不能直接进行算数运算 隐式转换 某些运算符被执行时&am…...
概率论与数理统计_下_科学出版社
contents 前言第5章 大数定律与中心极限定理独立同分布中心极限定理 第6章 数理统计的基本概念6.1 总体与样本6.2 经验分布与频率直方图6.3 统计量6.4 正态总体抽样分布定理6.4.1 卡方分布、t 分布、F 分布6.4.2 正态总体抽样分布基本定理 第7章 参数估计7.1 点估计7.1.1 矩估计…...
Android 复习layer-list使用
<shape android:shape"rectangle"> <size android:width"1dp" android:height"100px" /> <solid android:color"#FFFFFF" /> </shape> 通过shape画线段,通过 <item android:gravity"left|top"…...
汉光联创HGLM2200N黑白激光多功能一体机加粉及常见问题处理
基本参数: 机器型号:HGLM2200N 产品名称:A4黑白激光多功能一体机 基础功能:打印、扫描、复印 打印速度:22页/分钟 纸张输入容量:150-249页 单面支持纸张尺寸:A4、A5、A6 产品尺寸&#x…...
引领汽车软件开发走向ASPICE认证之路
亚远景科技与ASPICE认证的关系可以从以下几个方面来阐述: (要明确的是:在ASPICE行业中专业来说,ASPICE项目是没有认证,而只有评估。不过,为了方便沟通,人们常将这一评估过程称为认证。) 行业专…...
【C/C++ new/delete和malloc/free的异同及原理】
new/delete和malloc/free都是用于在C(以及C语言在malloc/free的情况下)中动态申请和释放内存的机制,但它们之间存在一些显著的异同点。以下是对这两组函数/运算符的异同点的详细分析: 相同点 目的相同:两者都用于在堆…...
Maven Archetype 自定义项目模板:高效开发的最佳实践
文章目录 前言一、Maven Archetype二、创建自定义 Maven Archetype三、定制 Archetype 模板四、手动创建 Archetype 模板项目五、FAQ5.1 如何删除自定义的模板5.2 是否可以在模板中使用空文件夹 六、小结推荐阅读 前言 在软件开发中,标准化和快速初始化项目结构能够…...
vue的ESLint 4格缩进 笔记
https://chatgpt.com/share/738c8560-5271-45c4-9de0-511fad862109 一,代码4格缩进设置 .eslintrc.js文件 module.exports { "rules": { "indent": ["error", 4] } }; 自动修复命令 npx eslint --fix "src/**/*.{…...
【前端项目笔记】8 订单管理
订单管理 效果展示: 在开发功能之前先创建分支order cls 清屏 git branch 查看所有分支(*代表当前分支) git checkout -b order 新建分支order git push -u origin order 将本地的当前分支提交到云端仓库origin中命名为order 通过路由方式…...
构建Yarn依赖树:深入解析与实践指南
构建Yarn依赖树:深入解析与实践指南 在现代JavaScript开发中,依赖管理是项目成功的关键。Yarn,作为Node.js生态系统中一个强大的包管理器,以其快速、可靠和安全的特性而闻名。本文将深入探讨Yarn如何构建依赖树,并提供…...
社区活动|FlowUs知识库的发展|先进技术的落地应用|下一代生产力工具你用了吗
在当今快速发展的数字化时代,技术的进步不断推动着工作方式和知识管理的革新。FlowUs,作为一款前沿的知识管理和协作平台,正站在这一变革的浪潮之巅,引领着智能工作的新潮流。 智能化的智能学习引导工具 FlowUs不仅仅是一个工具&…...
Python基础语法(与C++对比)(持续更新ing)
代码块 Python在统一缩进体系内,为同一代码块C{...}内部的为同一代码块 注释 Python 单行注释:#... 多行注释:... C 单行注释://... 多行注释: /*...*/ 数据类型 1. Python数据类型 Python中支持数字之间使用下划线 _ 分割…...
LeetCode-Leetcode 1120:子树的最大平均值
LeetCode-Leetcode 1120:子树的最大平均值 题目描述:解题思路一:递归解题思路二:0解题思路三:0 题目描述: 给你一棵二叉树的根节点 root,找出这棵树的 每一棵 子树的 平均值 中的 最大 值。 子…...
AI在软件开发中的角色:助手还是取代者?
目录 前言 一、AI工具现状:高效助手的崛起 二、AI对开发者的影响:新技能与竞争力的重塑 三、AI开发的未来:共生而非取代 写在最后 前言 随着科技的飞速发展,生成式人工智能(AIGC)在软件开发领域的应用日…...
jboss 7.2
链接: https://pan.baidu.com/s/19PSAy-Wy8DjcUMy94eqWnw 提取码: rgxf 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v3的分享链接: https://pan.baidu.com/s/19PSAy-Wy8DjcUMy94eqWnw 提取码: rgxf 复制这段内容后打开百度网盘手机App…...
鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥生成介绍及算法规格】
密钥生成介绍及算法规格 当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥。 注意: 密钥别名中禁止包含个人数据等敏感信息。 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harm…...
电气-伺服(4)CANopen
一、CAN Controller Area Network ,控制器局域网,80年的德国Bosch的一家公司研发可以测量仪器直接的实时数据交换而开发的一款串行通信协议。 CAN发展历史 二、CAN 的osi 模型 CAN特性: CAN 的数据帧 三、CANopen 什么是CANopen CANopen 的网络模型 …...
JavaFx基础知识
1.Stage 舞台 如此这样的一个框框,舞台只是这个框框,并不管里面的内容 public void start(Stage primaryStage) throws Exception {primaryStage.setScene(new Scene(new Group()));primaryStage.getIcons().add(new Image("/icon/img.png"))…...
舰艇推进电机供电流程优化方案
舰艇推进电机供电流程优化方案 第一章 绪论 1.1 背景与意义 现代舰艇(如驱逐舰、潜艇、全电推进船舶)广泛采用综合电力系统。传统的供电流程中,推进电机作为最大的非线性负载,其负载突变(如急加速、倒车、波浪冲击导致的螺旋桨甩尾)会通过直流母线回馈至发电机组,导致…...
别再死磕理论了!用Python+Pytorch实战多示例学习(MIL)图像分类,附完整代码
用PythonPytorch实战多示例学习图像分类:从数据到模型的完整指南 当你第一次听说"多示例学习"(Multiple Instance Learning, MIL)时,是不是也被那些抽象的理论弄得一头雾水?作为计算机视觉领域的重要技术&am…...
Phi-4-reasoning-vision-15B多场景落地:OCR/图表分析/GUI理解三类任务统一部署
Phi-4-reasoning-vision-15B多场景落地:OCR/图表分析/GUI理解三类任务统一部署 1. 模型介绍 Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型,能够处理多种视觉理解任务。这个模型特别擅长从图像中提取和理解信息,无论是文档文字…...
3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 [特殊字符]
3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 🎮 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式的种种限制而…...
Phi-3-mini-4k-instruct-gguf一文详解:从网页问答到摘要改写的全流程应用
Phi-3-mini-4k-instruct-gguf一文详解:从网页问答到摘要改写的全流程应用 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短创作等任务。想象…...
Qwen3.5-2B部署实操:CentOS 7兼容性处理与依赖库降级方案
Qwen3.5-2B部署实操:CentOS 7兼容性处理与依赖库降级方案 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。该模型主打低功耗、低门槛部署特性,特别适配端侧和边…...
OSI七层模型的意义:网络世界的工程思维密码
理解七层网络模型(OSI模型)的意义,不在于死记硬背哪一层叫什么名字,而在于它能帮你建立一套拆解复杂系统的思维框架。具体来说,学习它主要有以下几层价值:1. 建立“分而治之”的工程思维网络通信是一个极其…...
数据驱动决策的基石:Awesome Public Datasets实用探索手册
数据驱动决策的基石:Awesome Public Datasets实用探索手册 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 在数据驱动决策日益成为商业竞…...
WubiUEFI终极指南:如何在Windows中零风险安装Ubuntu系统
WubiUEFI终极指南:如何在Windows中零风险安装Ubuntu系统 【免费下载链接】wubiuefi fork of Wubi (https://launchpad.net/wubi) for UEFI support and for support of recent Ubuntu releases 项目地址: https://gitcode.com/gh_mirrors/wu/wubiuefi 你是否…...
QT 基于qcustomplot实现热力图(四):动态数据流与交互优化实战
1. 动态数据流的核心实现策略 在实时监控系统中,热力图的数据往往需要持续更新。我遇到过不少开发者直接粗暴地全量刷新整个数据集,结果界面卡顿得像老式幻灯片。这里分享三种经过实战检验的动态更新方案,每种都有其适用场景。 增量更新法最适…...
