android 第三方圆弧进度条,android 可配置的圆弧进度条

Arc ProgressBar Configurable 圆弧环形进度条

DEMO

0818b9ca8b590ca3270a3433284dd417.png

Attributes

name

format

description

borderWidth

integer

圆弧边框的宽度

progressStyle

tick/arc

进度条类型,tick 为带刻度的

radius

integer

半径

arcbgColor

color

圆弧的边框背景

degree

integer

弧度,设置为 0 即为圆形进度条,180 为半圆

tickWidth

integer

刻度的宽度

tickDensity

integer

刻度的密度 2~8 越小越密

bgShow

boolean

是否显示圆弧边框背景

arcCapRound

boolean

圆弧的笔触是否为圆形,tick 无效

interface

提供了绘制圆弧中间区域的一个接口

/**

*

* @param canvas

* @param rectF 圆弧的 Rect

* @param x 圆弧的中心 x

* @param y 圆弧的中心 y

* @param storkeWidth 圆弧的边框宽度

* @param progress 当前进度

*/

public interface OnCenterDraw {

public void draw(Canvas canvas, RectF rectF, float x, float y,float storkeWidth,int progress);

}

默认提供了两个实现 onImageCenter

OnTextCenter

Use

android:id="@+id/myProgress"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

app:degree="0"

app:progressStyle="arc" />

android:id="@+id/myProgress01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/myProgress"

app:radius="80dp"

app:progressColor="@color/progressColor"

app:tickDensity="3" />

android:id="@+id/myProgress02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/myProgress"

app:radius="90dp"

app:arcCapRound="true"

app:degree="180"

app:progressStyle="arc"

app:progressColor="@color/progressColorBlue"

app:tickDensity="3" />

mProgress.setOnCenterDraw(new ArcProgress.OnCenterDraw() {

@Override

public void draw(Canvas canvas, RectF rectF, float x, float y, float storkeWidth,int progress) {

Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

textPaint.setStrokeWidth(35);

textPaint.setColor(getResources().getColor(R.color.textColor));

String progressStr = String.valueOf(progress+"%");

float textX = x-(textPaint.measureText(progressStr)/2);

float textY = y-((textPaint.descent()+textPaint.ascent())/2);

canvas.drawText(progressStr,textX,textY,textPaint);

}

});

Including in your project

dependencies {

compile 'com.czp.arcProgressBar:ArcProgressBar:1.0.1'

}

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

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

相关文章

三分钟让孩子的数学开窍

周末给孩子灌了一个世界观和方法论:用笛卡尔坐标系描述世界。 我强调,学习笛卡尔坐标系不是做题,它是工具,它是帮你解题的,而不是为难你的。 任何数学题放在笛卡尔坐标系都可以通过机械的方法硬算,计算过程…

oracle大对象实例_超大型Oracle数据库设计实例

超大型系统的特点为: 1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB; 2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性。 这篇是笔者针对以上特…

C++定时器的实现之格式修订版

个人认为一个完备的定时器需要有如下功能:在某一时间点执行某一任务在某段时间后执行某一任务重复执行某一任务N次,任务间隔时间T那么如何实现定时器呢?下面是我自己实现的定时器逻辑,源码链接最后会附上。定时器中主要的数据结构…

java 性能调优_Java性能调优调查结果(第四部分)

java 性能调优这是本系列中的最后一篇文章,我们将分析我们在2014年10月进行的Java Performance Tuning Survey的结果。如果您尚未阅读第一篇文章,建议您首先阅读以下内容: 性能问题的频率和严重性 最受欢迎的监控解决方案 查找根本原因的工…

Android接入热敏打印机,Android 关于佳博和汉印蓝牙热敏打印机开发

接上篇文章Android之BLE(低功耗)蓝牙开发,本篇文章针对上篇博文中提出的两款打印机的开发流程进行记录。首先不管时佳博打印机还是汉印打印机,都是先对他们各自的lib进行导入,如图:导入lib之后,一定要记得进行sync pro…

C 桥接模式 - 开关和电器

桥接模式(Bridge Pattern)是将抽象部分与它的实现部分分离,使它们都可以独立地变化。1模式结构UML 结构图:Abstraction(抽象类):用于定义抽象类的接口,并且维护一个指向 Implementor…

centos8配置本地光盘yum源_CentOS8 配置本地yum源的详细教程

centos8发行版通过 baseos 和应用流 (appstream) 仓库发布,appstream 是对传统 rpm 格式的全新扩展,为一个组件同时提供多个主要版本centos8 自带封装了nginx,这篇文章给大家介绍centos8 配置本地yum源,具体内容如下所示&#xff…

javafx显示image_如何摆脱JavaFX中的重点突出显示

javafx显示image今天,有人问我是否知道摆脱JavaFX控件(分别是按钮)的焦点突出的方法: 有关此问题的大多数文章和提示建议添加: .button:focused {-fx-focus-color: transparent; }但是使用这种样式,仍然…

android aop静态方法,spring aop 不能对静态方法进行增强解决

想要通过aop的方式记录HttpUtils发出的post请求日志,但是 aop 不能对静态方法进行增强。只能对实例方法进行增强。。如果一定要增强静态方法,我们可以对目标类使用单例模式,然后通过调用实例方法去调用那个静态方法,而且对应的对象…

汉字笔画动图怎么做_隶书基本笔画教程(动态图)

隶书开创并奠定了汉字的书写形式。而隶书的美时而古朴遒劲,时而秀美温润,实在是令人神往。笔法有方有圆,方圆并用。下面文章以明朗的笔迹演示,结合相对切实的例字,给大家详尽讲解隶书的基本写法。掌握这些基本写法后&a…

C语言没有引用,只有指针

这个问题是昨晚上有同学在知识星球提问,但是因为前两天一直在出差,比较累,没认真回答,今天打球回来,就把这个事情解决了。我想说的已经在题目说明的很清楚了,C语言是没有引用的,引用是在C 里面才…

java日志使用_使用Java 8防止日志过宽

java日志使用一些日志将被机器消耗并永久保存。 其他日志仅用于调试和供人类使用。 在后一种情况下,您通常要确保您不会产生太多的日志,尤其是不会产生太宽的日志,因为一旦行长超过一定大小( 例如,此Eclipse bug &…

android 磁场传感器 罗盘,HMC5883L电子指南针罗盘模块 GY-271三轴磁场传感器 的相关教程 带Arduino 51源代码...

//***************************************// HMC5883 51串口测试程序// 使用单片机STC89C51// 晶振:11.0592M// 显示:PC串口// 编译环境 Keil uVision2// 参考宏晶网站24c04通信程序// 时间:2011年3月1日//*******************************…

python如何实现人工智能应用锁_如何清除应用锁的数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

C/C 代码规范注释有哪些讲究?

如果领导给你一个项目的源码让你阅读,并理解重构代码,但里面一句注释都没有,我想这肯定是之前同事“删库跑路”了。看一份源码什么很重要?除了各种代码规范之外,还有一个比较重要的就是注释。注释虽然写起来很痛苦, 但…

记忆化搜索 递归缓存_需要微缓存吗? 营救记忆

记忆化搜索 递归缓存缓存解决了各种各样的性能问题。 有很多方法可以将缓存集成到我们的应用程序中。 例如,当我们使用Spring时,可以轻松使用Cacheable支持。 非常简单,但我们仍然必须配置缓存管理器,缓存区域等。有时&#xff0c…

qq互联android sdk,qq互联.Android

导读:2.2调用示例,这里以发送文字微博接口的调用为例例,来说明通过requestAsync调用兼容接口的方法:,在上面的调用中,调用获取用户信息接口的示例代码如下:,调用发送带图微博接口的&…

go语音protobuf_golang 使用 protobuf 的教程

1、下载protobuf的编译器protoc地址:window:下载: protoc-3.3.0-win32.zip解压,把bin目录下的protoc.exe复制到GOPATH/bin下,GOPATH/bin加入环境变量。当然也可放在其他目录,需加入环境变量,能让系统找到pr…

C 流插入和流提取运算符的重载

<<运算符的重载C 在输出内容时&#xff0c;最常用的方式&#xff1a;std::cout << 1 <<"hello";提出问题&#xff1a;那这条语句为什么能成立呢&#xff1f;cout 是什么&#xff1f;为什么 << 运算符能用在 cout 上呢&#xff1f;原因&#…

primefaces_使用Bean验证扩展PrimeFaces CSV

primefaces你们中有些人已经知道我和我的合著者Mertalışkan正在研究PrimeFaces Cookbook的2.版。 Packt Publishing允许我从新章节“客户端验证”的一个食谱中摘录一小部分摘录。 这将有助于使读者知道这本书的内容。 在此博客文章中&#xff0c;我想讨论使用Bean验证扩展的P…