android 饼图进度框,如何创建循环进度条(饼图),如指标 – Android
您可以自定义视图(例如PieProgressView)或自定义Drawable(例如PieProgressDrawable).我采取了定制视图的方法,但是完全可行.
快速浏览Android的ProgressView源代码是一个非常复杂的实现.显然,他们涵盖了所有的基础,但你不必写一些复杂的东西.我们真的只需要两件事情:
>成员跟踪当前进度.
>根据当前进度绘制饼图的方法.
第一个很容易,只需保留一个成员字段来跟踪饼图的当前百分比.数字2有点复杂,但幸运的是,我们可以使用标准的画布绘制方法.
方便的是,Android的Canvas类提供了drawArc()的方法.你可以用它来获得你的饼干效果.假设我们将一个名为mPercent的成员字段的百分比存储为0到1之间的浮点数,则onDraw()方法可能如下所示:
@Override
protected void onDraw(Canvas canvas) {
final float startAngle = 0f;
final float drawTo = startAngle + (mPercent * 360);
// Rotate the canvas around the center of the pie by 90 degrees
// counter clockwise so the pie stars at 12 o'clock.
canvas.rotate(-90f, mArea.centerX(), mArea.centerY());
canvas.drawArc(mArea, startAngle, drawTo, true, mPaint);
// Draw inner oval and text on top of the pie (or add any other
// decorations such as a stroke) here..
// Don't forget to rotate the canvas back if you plan to add text!
...
}
以下是示例应用程序中完成的视图:
编辑
自从发布以来,我决定实际上没有理由实现自定义视图.你可以简单地使用一个drawable,它的level属性可以完成所需要的.我做了gist with the full drawable.
android 饼图进度框,如何创建循环进度条(饼图),如指标 – Android相关推荐
- 多次点击android版本出现棒棒糖,android – 为前棒棒糖设备创建循环显示
首先,这是与 Create circular reveal for pre-Lollipop devices (Android)不同的问题 我正在使用那里提到的库来创建Circular Reveal, ...
- android return 如何跳出两个循环_关于不得不学的Android知识之消息机制
概述 相信不管是出入Android,还是已开发多年的老司机们,肯定都对Android的Handler不会陌生,而它就是今天要介绍的Android消息机制中的一部分.在Android系统中,有两大特色利 ...
- 饼图的引导线怎么加_4步学会EXCEL复合条饼图制作方法,让统计结果更直观!
饼图能够形象生动的展示各种类别数据的占比,在类别较多的情况下,单一饼图会显得很凌乱,降低了数据的对比效果,这个时候复合条饼图就可以让统计结果更直观,数据更清晰. 一.复合条饼图效果 复合条饼图的特点: ...
- Android列表控件选项中添加进度框ProgressBar实现
今天有时间就学习了下在ListView.GridView列表项中清加ProgressBar,小马用最简单的代码实现可以通用的功能,人人都能看懂,哈哈,直接说下,如果你的适配器getView方法 ...
- Android下载文件(一)下载进度断点续传
Android下载文件(一)下载进度&断点续传 索引 Android下载文件(一)下载进度&断点续传 Android下载文件(二)单任务多线程并发&断点续传(待续) Andro ...
- Android中使用AsyncTask实现文件下载以及进度更新提示
Android提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单.相对Handler来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和 ...
- android进度条课设报告,Android开发之进度条ProgressBar的示例代码
说明 ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等. 默认形式ProgressBar 默认方式下,ProgressBar显示为圆形进度,循环转圈,不显示具 ...
- 从零开始学PowerShell(8)创建一个进度条
我相信不少人会遇到这类情况,通常在执行一些大批量操作时,代码正在后台持续执行,你又没有为每个细节设置详尽的输出的话,你也不知道到底是脚本卡死了还是正在运行,因为没有任何响应反馈. 应对这种情况,要是我 ...
- Android中的常用控件之进度条(ProgressBar)
ProgressBar的常用属性 style(进度条的样式,默认为圆形:用style="?android:attr/progressBarStyleHorizontal"可以将进度 ...
最新文章
- CSP浏览器安全策略备忘
- c++工程师面试常见问题之c++中四种cast转换
- Spring组件扫描context:component-scan/使用详解
- 任意java程序都可以是servlet吗_C#从Java servlet中获取文件流实现任意文件下载
- 【DP】【Asia - Harbin - 2010/2011】【Permutation Counting】
- oracle未找到时区,解决ORA-01882:未找到时区区域%s
- Windows上基于快捷方式的Putty免密码登陆
- 飞信php接口 web service
- 一个非常适合IT团队的在线API文档、技术文档工具 (ShowDoc)
- Xamarin入门一 环境准备
- 安全学习木马查杀打卡第二十一天
- 一文教你玩转Mybatis,超详细代码讲解与实战
- 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
- 【报告分享】2020小红书年中美妆洞察报告.pdf(附下载链接)
- vs行尾不一致,是否将行尾标准化的问题
- JavaScript葵花宝典(基础)
- 实验七 二极管包络检波实验
- python3豆瓣电影排行榜爬取
- HTML5+CSS3网页模板
- Kong Basic Authentication 插件详解