android开源进度条,Android github开源进度条类框架SmoothProgressBar的使用

2023-10-31

前言

SmoothProgressBar是Github上的一个开源框架, 牛人所著, 只作翻译;

Github项目主页:[SmoothProgressBar](https://github.com/castorflex/SmoothProgressBar)

[有没有炫酷的Fell啊](https://github.com/castorflex/SmoothProgressBar/blob/master/screenshots/SPB_sample.gif)

开发环境:Android studio;Eclipse用户请直接进入项目首页,克隆源码。

d98019cb1ad000d9626a6c2f6a22107b.png

详细配置使用说明

(1)Maven 库添加

作者已经将该库放在Maven Centra中了, 所以Android Studio 用户可直接进行如下配置:

在“项目(project)”的build.gradle中添加如下代码:

repositories {

maven {

url "https://oss.sonatype.org/content/repositories/snapshots/"

}

}

在app文件夹的build.gradle文件中添加如下代码:

dependencies {

compile 'com.github.castorflex.smoothprogressbar:library:1.0.1-SNAPSHOT@aar'

}

(2)加入一些作者提供的Style吧

在res/values/styles.xml文件中添加样式:

@style/SmoothProgressBar

12dp

4

0.7

spb_interpolator_linear

@array/gplus_colors

8dp

2

1.7

2

3.4

spb_interpolator_acceleratedecelerate

true

true

@array/gplus_colors

true

false

0dp

3

2.0

@android:anim/decelerate_interpolator

@array/gplus_colors

true

4dp

4

1

@anim/pocket_interpolator

@array/pocket_bar_colors

true

false

(3)添加缺少的颜色资源

在res/values/color.xml添加如下代码:

@color/holo_blue_dark

@color/holo_yellow_dark

@color/holo_green_dark

@color/holo_purple_dark

@color/holo_red_dark

@color/gplus_color_1

@color/gplus_color_2

@color/gplus_color_3

@color/gplus_color_4

@color/pocket_color_1

@color/pocket_color_1

@color/pocket_color_1

@color/pocket_color_1

@color/pocket_color_2

@color/pocket_color_2

@color/pocket_color_2

@color/pocket_color_2

@color/pocket_color_3

@color/pocket_color_3

@color/pocket_color_3

@color/pocket_color_3

@color/pocket_color_4

@color/pocket_color_4

@color/pocket_color_4

@color/pocket_color_4

@color/pocket_color_1

@color/pocket_color_2

@color/pocket_color_3

@color/pocket_color_4

#85edb9

#34bdb7

#ee4458

#fcb74d

#3e802f

#f4b400

#427fed

#b23424

#0099cc

#ff8800

#669900

#9933cc

#cc0000

(4)添加缺少的strings

在res/values/strings.xml添加如下代码:

Accelerate

Linear

AccelerateDecelerate

Decelerate

(5)还有一个动画资源:anim

在res/anim文件夹下新建一个名为:pocket_interpolator.xml动画资源文件,并添加如下代码:

这样所需要使用的资源都添加完毕了

SmoothProgressBar调用

提供两种方式:<1> 在布局文件中添加直接使用;<2> 代码调用

<1> 在布局文件中添加直接使用:

在xml文件中直接添加布局代码使用, 添加代码如下:

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:indeterminate="true"

app:spb_sections_count="4"

app:spb_color="#FF0000"

app:spb_speed="2.0"

app:spb_stroke_width="4dp"

app:spb_stroke_separator_length="4dp"

app:spb_reversed="false"

app:spb_mirror_mode="false"

app:spb_progressiveStart_activated="true"

app:spb_progressiveStart_speed="1.5"

app:spb_progressiveStop_speed="3.4" />

<2> 使用java代码控制实现,灵活(推荐)

先在布局文件中定义个id:

android:id="@+id/smooth_progress_bar"

android:layout_width="match_parent"

android:layout_height="8dp"

style="@style/GNowProgressBar"

android:indeterminate="true" />

在相应的Activity中实现绑定:

// 变量声明

private SmoothProgressBar progressBar;

// 在void onCreate(Bundle savedInstanceState)绑定id

progressBar = (SmoothProgressBar)findViewById(R.id.smooth_progress_bar);

// 由于已经定义加载布局时,进度条就会自动运行(同方法一)

// 使用progressiveStop()在合适的地方停止进度条运行

// 如网络通信结束,登陆成功,webview页面加载完毕等时刻停止

progressBar.progressiveStop();

f9a8bafaeaacc11af0844af042344a5c.png

———————————————END——————————————

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android开源进度条,Android github开源进度条类框架SmoothProgressBar的使用 的相关文章

  • C++卷积神经网络实例:tiny_cnn代码详解(8)——partial_connected_layer层结构类分析(上)

    在之前的博文中我们已经将顶层的网络结构都介绍完毕 包括卷积层 下采样层 全连接层 在这篇博文中主要有两个任务 一是整体贯通一下卷积神经网络在对图像进行卷积处理的整个流程 二是继续我们的类分析 这次需要进行分析的是卷积层和下采样层的公共基类
  • CSDN如何解决复制后代码格式错乱问题?

    不要直接用鼠标选择代码复制粘贴 要用代码块右侧的复制按钮进行复制
  • Cannot prepare internal mirrorlist: No URLs in mirrorlist

    我是在执行 yum install dnf plugins core 这个命令报的错误 问题 在CentOS 8中 使用yum时出现错误 镜像列表中没有url 类似如下 Error Failed to download metadata f
  • canvas 刻度尺

    参考链接 https codepen io luren pen yEagYO 画布
  • 拆书领读

    来源于课程学习笔记 一 为什么拆书 赚钱 自我提升 看书 二 如何拆书 1 平台及类型 听书 用一篇文章的长度 5000 8000字 告诉你一本书的精华内容 拆书 用5 10篇文章的长 2 听书 采用总分总的套路 第一部分 总领全文 看书的
  • 锂离子电池保护板你懂多少呢?

    锂离子电池保护板你懂多少呢 电子设备通常用的是聚合物电池和锂电池 但是聚合物电池容易鼓包 随着锂离子电池的出现 由于其能量密度高 充电效率高 而且对环境 友好 故得到制造商的垂爱 但是用锂电池必须对过压和过流进行检测 以保护锂离子电池 不然
  • 静态方法访问非静态变量

    使用态方法需要访问非静态变量会出现图中的问题 其解决方法有两种 1 将要访问的非静态变量改成静态的 2 使用类对象来访问 public class Main String string 1111111123456 public static
  • LocalDateTime和Date的比较(JDK8新特性:时间日期API)

    最近在项目升级框架查资料会涉及到LocalDateTime 当时看到这个觉得为什么大家都在用这个 为什么 说到这里我们要知道这个LocalDateTime来自哪里 实际上这个LocalDateTime是JDK8的新特性之一 JDK8发布了新
  • opencv 手势识别 【附源代码】

    我使用OpenCV2 4 4的windows版本 Qt4 8 3 VS2010的编译器做了一个手势识别的小程序 本程序主要使到了Opencv的特征训练库和最基本的图像处理的知识 包括肤色检测等等 废话不多 先看一下基本的界面设计 以及主要功
  • 程序分析-klee工具分析

    一 klee介绍 1 1 简单介绍 Klee是一个LLVM IR符号执行工具 OSDI 08 Paper地址 能够自动生成测试 实现对各种复杂且环境密集型程序的高覆盖率 klee有2个目标 命中目标程序中的每一行代码 检测到每一个危险操作
  • C++代码静态检测

    C 代码静态检测一 CppCheck二 TscanCode三 PVS studio 代码静态检测 指的是程序在非运行状态下 对代码进行语法分析 检测其规范性和语法错误的一种操作 主要借助的都是一些第三方工具 比如CppCheck Tscan
  • Ubuntu20.04正确的开启方式(美化+软件安装)

    目录 1 什么都没有的ubuntu20 04 第一步 系统设置 第二步 美化 1 安装gnome software和chrome gnome shell 2 安装dash to dock 3 打开插件和主题 第三步 软件安装 1 什么都没有
  • Unity3D——射箭游戏

    先上游戏截图 把靶子调远一点 风力的影响会很明显 编码过程 1 利用一个空对象包含五个同心圆柱构建靶子 空对象的参数 一个同心圆柱的参数 其他的类似 然后构造箭矢并制成预制 就是一个黄色的棍子 2 建立构造箭矢的工厂 这段代码根据之前的打飞
  • 机器学习—非零中心化、非零中心化会带来的问题

    众所周知 激活函数最好具有关于零点对称的特性 不关于零点对称会导致收敛变慢 这种说法看到几次了 但对于背后的原因却一直比较模糊 今天就来捋一捋 神经元模型 如图1所示是神经网络中一个典型的神经元设计 它完全仿照人类大脑中神经元之间传递数据的
  • 用邻接表存储无向图的深度优先遍历

    实现代码 include
  • 记Nani_xiao的CSDN成长历程

    从小白 一步一步走来 记下我的成长脚步 虽然现在还是一菜鸟 但是我在努力 在前进的路上永不止步 记下这些 希望五年后的自己 真的成为了自己所期望的样子 从第一篇博客 到原创97篇 虽然很多技术含量并不大 但都是平时学习中和学习后的心血 记录
  • SpringBoot webSocket 资源无法加载、tomcat启动报错解决方法

    问题描述 1 项目集成WebSocket 且打包发布tomcat时出现websocket is already in CLOSING or CLOSE state这样的问题 建议参考 解决方法二 但是 解决方法一 请要了解查看 因为解决方法
  • MCU集成-系统架构(不断更新)

    应用场景 mcu主要应用于手环 无人机等等场景 成本与工艺 一个晶圆7英寸 参考价格一个28nm工艺的晶圆大概400w USD 约等于7万平方毫米 mm2 一个mcu可能1mm2 但是die是长方形 晶圆是圆形 所以会有损耗 die和die
  • JMeter安装教程

    JMeter JMeter安装步骤 1 JMeter简介 2 下载 3 配置环境 4 启动JMeter JMeter安装步骤 1 JMeter简介 安装JMeter之前必须安装jdk8或以上版本 jdk安装教程 http t csdn cn

随机推荐

  • C++11新特性

    文章目录 一 auto 用法 注意点 二 decltype 用法 三 变量初始化 四 增强for循环 五 静态断言 六 noexcept 七 nullptr 八 强类型枚举 九 常量表达式 十 自定义字面量 十一 原生字符串字面值 十二 继
  • 多线程(一) -- 多线程的初识

    目录 多线程 线程的引入 进程和线程的关系 多线程可能存在的问题 多线程程序的创建 Thread创建第一个多线程程序 线程的抢占式执行 查看java进程中的所有线程 用Thread的其他方法创建多线程 实现Runnable接口 使用匿名内部
  • WebRTC音视频通话-WebRTC本地直播高分辨率不显示画面问题

    iOS开发 WebRTC本地直播高分辨率不显示画面问题 在之前使用WebRTC结合ossrs进行推流时候 ossrs的播放端无法看到高分辨率画面问题 根据这个问题 找到了解决方案 一 WebRTC是什么 WebRTC是什么呢 WebRTC
  • SSD的删除方式

    SSD的删除方式 erase trim discard sanitize
  • Chrome浏览器小号多开

    Chrome浏览器在上网的过程中 会保存一些用户数据 如缓存 cookie 收藏的网页等信息 这些信息的保存位置是可以设置的 方法也很简单 桌面上复制一个Chrome的快捷方式 编辑属性 添加 user data dir参数即可 比如 复制
  • Keil5中添加TKSCOPE下载器

    21年已经进入最后一个月了 这一年也挺魔幻的 发生挺多事情的 自己也在慢慢地走向正轨 Keil5中添加TKSCOPE下载器 添加教程 这篇博客总结的很全 我主要说一下我遇到的问题 首先就是那篇博客说要 禁止签名驱动 之后我就直接跟着博客来了
  • CImg库介绍

    转自 http www cppprog com 2009 0424 106 html CImg是一个跨平台的C 的图像处理库 提供了加载 处理 显示 保存等一系列功能 其中的图像处理功能尤其强大 首先 建议先到这里欣赏一下使用CImg代码做
  • get方法和post方法的区别和联系

    1 功能不同 post是向服务器发送数据 get是向服务器获取数据 2 过程不同 get在浏览器回退时是无害的 但是post会再次提交请求 get请求会被浏览器主动缓存 但是post不会 除非手动设置 get请求只能进行URL编码 但是po
  • [C#] 使用Spire.XLS 将excel转DataTable

  • 企业微信 40001 invalid credential问题解决

    获取access token报错 errcode 40001 errmsg invalid credential hint XXXXX from ip XXX XXX XXX XXX more info at https open work
  • 《JAVA 基础: 第一个JAVA应用程序》

    一 Java语言运行机制及运行过程 1 再次强调JAVA语言的特点 特点一 面向对象 两个基本概念 类 对象 三大特性 封装 继承 多态 特点二 健壮性 吸收了C C 语言的优点 但去掉了其影响程序健壮性的部分 如指针 内存的申请与释放等
  • 运用成员函数模板接受所有兼容类型——条款45

    所谓智能指针是 行为像指针 的对象 并提供指针没有的机能 例如条款13曾经提及std auto ptr和tr1 shared ptr如何能够被用来在正确时机自动删除heap based资源 STL容器的迭代器几乎总是智能指针 无疑地你不会奢
  • 卷积神经网络的复杂度分析

    在进行CNN的设计中 我们不仅要考虑模型的准确率 还需要考虑模型的实用性 现阶段大量的paper纯堆精度 缺没有深入思考模型以及算法的实用性 最近有一点感触很深 很多我们在做研究时认为默认的东西 在进行实际应用项目中 才发现这些先验数据是无
  • NVIDIA 安装 CUDA

    名词解释 CUDA 是一个架构 该架构使GPU能够解决复杂的计算问题 此实战使用电脑为联想Y9000P 显卡型号为 3060 在安装 CUDA 之前需要先打开 NVIDIA 控制面板 一 准备工作 如图我这个显卡需要安装 CUDA 11 7
  • Pci设备驱动1:pci设备驱动实例(realtek8168)

    Pci设备驱动1 pci设备驱动实例 realtek8168 2012 05 25 11 30 32 分类 LINUX Realtek8168网卡时pci接口的网卡 其驱动程序就是一个PCI设备的驱动程序实例 我们一起看看其流程 1 首先
  • JDK8到JDK17有哪些吸引人的新特性?

    作者 京东零售 刘一达 前言 2006年之后SUN公司决定将JDK进行开源 从此成立了OpenJDK组织进行JDK代码管理 任何人都可以获取该源码 并通过源码构建一个发行版发布到网络上 但是需要一个组织审核来确保构建的发行版是有效的 这个组
  • EfficientDet训练自己的训练集

    一 安装环境 install requirements pip install pycocotools numpy opencv python tqdm tensorboard tensorboardX pyyaml pip install
  • 五步教你如何注册一个公司网站

    在今天的数字化时代 每个公司都需要一个强大的线上存在感 注册一个公司网站是实现这一目标的第一步 但是 对于许多公司而言 这个过程可能有些困难 因此 在本文中 我将介绍一个五步计划 让您轻松注册一个成功的公司网站 步骤一 确定网站目标 在注册
  • oracle时间大小比较 格式

    首先给大家分享一个巨牛巨牛的人工智能教程 是我无意中发现的 教程不仅零基础 通俗易懂 而且非常风趣幽默 还时不时有内涵段子 像看小说一样 哈哈 我正在学习中 觉得太牛了 所以分享给大家 点这里可以跳转到教程 createtime gt to
  • android开源进度条,Android github开源进度条类框架SmoothProgressBar的使用

    前言 SmoothProgressBar是Github上的一个开源框架 牛人所著 只作翻译 Github项目主页 SmoothProgressBar https github com castorflex SmoothProgressBar