徒手绘制 Android 通用进度条

拖动条(FlexSeekBar),在Android的各个地方都非常常用,本文旨在自研一套通用的进度条,非常适合车载App使用

样式如下:

image.png

使用示例

<!--默认用法-->
<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的朋友,或者想要参考源码的,可以评论留下联系方式,我会第一之间发给你。

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

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

相关文章

10-linux生信快捷键

tab#补全命令/地址 #只需要键入/home/r 然后呢tab键即可 root@iZbp1ajgi9pp0204trc1gzZ:~# /home/rtest/↑↓#翻越历史命令 ctrl+A#将光标移动到命令行开头(进行命令补全) ctrl+E#将光标移动到命令行结尾(进行命令添加) ctrl+C#强制终止当前命令 Ctrl+Z#暂停当前任务

【test】小爱同学通过esp32控制电脑开关

文章目录 一、环境准备二、开关机原理数据传输框架 三、环境搭建1.巴法云平台设置2.米家设置3.windows网络唤醒设置4.搭建esp32开发环境并部署&#xff08;1&#xff09;新建项目&#xff08;2&#xff09;导入esp32库&#xff08;3&#xff09; 添加库&#xff08;4&#xff0…

fluwx插件实现微信支付

Flutter开发使用fluwx插件实现微信支付&#xff0c;代码量不多&#xff0c;复杂的是安卓和iOS的各种配置。 在 pubspec.yaml 文件中添加fluwx依赖 fluwx: ^4.5.5 使用方法 通过fluwx注册微信Api await Fluwx().registerApi(appId: wxea7a1c53d9e5849d, universalLink: htt…

基于SpringBoot的大学生租房系统

该系统主要实现了用户和房主通过系统注册用户&#xff0c;登录系统后能够编辑自己的个人信息、查看首页&#xff0c;房屋信息&#xff0c;房屋评价&#xff0c;公告资讯&#xff0c;个人中心&#xff0c;后台管理&#xff0c;意见反馈等&#xff0c;还可以对后台进行操作&#…

2024年显著性检测部分论文及代码汇总(3)

ICML Size-invariance Matters: Rethinking Metrics and Losses for Imbalanced Multi-object Salient Object Detection code Abstacrt&#xff1a;本文探讨了显著性检测中评价指标的尺寸不变性&#xff0c;尤其是当图像中存在多个大小不同的目标时。作者观察到&#xff0c;…

Pip换源,以及python解耦方法实现

一、 Pip换源 可以查看文章路径 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy二、 解耦 1.解耦思想 具体查看文章python解耦重构&#xff0c;提高程序维护性 https://editor.csdn.net/md/?articleId140161169 mysql 连接解耦 主要实现方式为mysql配置项…

vue中总线机制(EventBus) EventBus作为所有组件共享的事件中心

一、EventBus的简介 EventBus 又称时间总线 &#xff0c;理解上来讲 EventBus 机制是通知的概念&#xff0c;EventBus作为所有组件共享的事件中心&#xff0c;既可以发送事件也可以接受事件&#xff0c;所有组件都可以平行的接到到相对应的数据。 新建一个js文件 // EventBus…

双指针算法:快速排序模拟实现

目录 1.思路解析 2&#xff1a;代码展示 1.思路解析 使用双指针pre和cur 指针cur用于检测符合条件的数据 cur和pre数据发生交换用于将符合条件的数据&#xff08;比key小&#xff09;向左扔 一轮循环结束时&#xff0c;以pre为分界点&#xff0c;除去key&#xff0c;pre左边的…

物联网IOT,讲的什么?

想象一下,当你早晨醒来,智能咖啡机已经根据你的习惯准备好了香浓的咖啡;家中的温度自动调节至最舒适的状态;出门前,智能冰箱提醒你哪些食材需要补充……这些场景不再是科幻电影里的虚构,而是物联网技术为我们带来的现实便利。 物联网的概念与起源 物联网,顾名思义,是指…

SpringBoot项目,配置文件pom.xml的结构解析

pom.xml 是 Maven 项目对象模型&#xff08;Project Object Model&#xff09;的配置文件&#xff0c;它定义了 Maven 项目的基本设置和构建过程。以下是 pom.xml 文件的基本结构和一些常见元素的解析&#xff1a; 项目声明 (<project>): <modelVersion>: 通常设置…

1.HI3559AV100 官方开发板sample运行

1.内核、文件系统部分 有关uboot&#xff0c;kernel&#xff0c;rootfs部分就不赘述&#xff0c;直接在SDK提供的镜像文件进行烧录即可。2.编译MPP下的sample运行 实验前准备&#xff1a;通过NFS方式挂载到开发板与主机通信传输文件 驱动和库的部署&#xff1a;把MPP目录下的…

单例模式详解:概念与实用技巧

目录 单例模式单例模式结构单例模式适用场景单例模式优缺点练手题目题目描述输入描述输出描述输入示例输出示例提示信息题解 单例模式 单例模式是一种创建型设计模式&#xff0c; 让你能够保证一个类只有一个实例&#xff0c; 并提供一个访问该实例的全局节点。 只有一个实例的…

阿里巴巴店铺电话采集软件操作步骤解析

以下是一个简单的程序&#xff0c;用于访问1688店铺并获取店铺信息&#xff1a; import requestsdef get_store_info(store_id):# 构建请求URLurl fhttps://detail.1688.com/offer/{store_id}.html# 发送GET请求response requests.get(url)# 如果请求成功if response.status…

震惊!运气竟能如此放大!运气的惊人作用,你了解吗?

芒格&#xff1a;得到你想要的东西&#xff0c;最保险的办法&#xff0c;就是让自己配得上你想要的那个东西。今天仔细想了想这句话&#xff0c;他其实说的是无数成功人士的心声 —— “我配得上&#xff01;” 美剧《绝命毒师》有个导演叫文斯吉里根&#xff08;Vince Gilliga…

注解【开发实践】

文章目录 一、注解概述1.1 什么是注解1.2 注解的作用1.3 一些特殊的注解 二、元注解2.1 Retention2.2 target2.3 Documented2.4 Inherited2.5 Repeatable 三、注解的使用3.1 定义注解3.2 编写注解处理器3.3 注册注解处理器 一、注解概述 1.1 什么是注解 注解&#xff08;Anno…

大疆2025校招内推

需要内推码的请留言哦 期待你的加入

windows@资源管理器中的地址栏@访问共享文件夹的各种方法@管理共享文件夹

文章目录 资源管理器中的地址栏可以访问什么访问共享文件夹&#x1f47a;UNC路径资源管理器打开共享文件夹纯命令行方式访问共享文件夹 共享文件夹相关操作查看所有已经共享的文件夹&#x1f47a;停止某个文件的共享 共享文件夹的访问控制补充匿名访问问题&#x1f60a;强制启用…

集群限流sentinel实践

参考&#xff1a; 集群模式 实践 集群流控规则 其中 用一个专门的 ClusterFlowConfig 代表集群限流相关配置项&#xff0c;以与现有规则配置项分开&#xff1a; // 全局唯一的规则 ID&#xff0c;由集群限流管控端分配. private Long flowId;// 阈值模式&#xff0c;默认&…

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.5-2.6

目录 第三门课 结构化机器学习项目&#xff08;Structuring Machine Learning Projects&#xff09;第二周&#xff1a;机器学习策略&#xff08;2&#xff09;(ML Strategy (2))2.5 数据分布不匹配时的偏差与方差的分析&#xff08;Bias and Variance with mismatched data di…

师从IEEE fellow|博士后加拿大阿尔伯塔大学成行

V老师指定申请加拿大&#xff0c;优先对方出资的博士后&#xff0c;如果外方无资助&#xff0c;也可以自筹经费&#xff0c;但要求必须是博士后头衔。最终我们为其落实了加拿大阿尔伯塔大学的postdoctoral fellow&#xff08;博士后研究员&#xff09;&#xff0c;尽管是无薪职…