Android 笔记:自定义View 环形Progress
来源:互联网 发布:163邮箱的smtp端口 编辑:程序博客网 时间:2024/06/11 07:15
先看一下效果,由于录制gif的工具出了点问题,没有录gif文件,就看几张图片吧!
没有动图,效果就将就着看哈,接下来看看一下RingView这个类也是核心部分
package com.dfwy.cxy.ringprogressview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.view.WindowManager;/** * Created by cxy on 2017/2/7. */public class RingView extends View { private int width,height; private float temp = 0f; public float getTemp() { return temp; } public void setTemp(float temp) { this.temp = temp; } public RingView(Context context) { super(context); } public RingView(Context context, AttributeSet attrs) { super(context, attrs); //获取屏幕的宽高 WindowManager wm = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE); width = wm.getDefaultDisplay().getWidth(); height = wm.getDefaultDisplay().getHeight(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //将圆心设置在屏幕中心 int pointWidth = width/2; int poingHeight = height/2; //绘制一个放在最底部的一个圆形,颜色设置为灰色 Paint paint = new Paint(); paint.setColor(Color.rgb(220,220,220)); canvas.drawCircle(pointWidth,poingHeight,300,paint); //接下来在其上边叠加一个画弧的Canvas,颜色设置为红色 paint.setColor(Color.RED); RectF f = new RectF(pointWidth-300,poingHeight-300,pointWidth+300,poingHeight+300); canvas.drawArc(f,-90f, temp,true,paint); //想要变成圆环状,需要在其上边再次绘制一个圆形,以遮挡住弧形,实现圆环状的:颜色设置为白色 paint.setColor(Color.WHITE); canvas.drawCircle(pointWidth,poingHeight,250,paint); //加Text paint.setColor(Color.rgb(0,128,255)); //计算出数字的长度 paint.setTextSize(80); float lenTxt = paint.measureText(String.valueOf((int)(temp/359*100))+"%"); canvas.drawText(String.valueOf((int)(temp/359*100))+"%",pointWidth-lenTxt/2,poingHeight+20, paint); }}
注释比较详细,就不再具体解释了,最后放上demo下载地址:
http://download.csdn.net/detail/xiaoyu940601/9749165
0 0
- Android 笔记:自定义View 环形Progress
- Android 环形进度Progress
- 史上难求的自定义progress环形进度条效果——自定义View来袭!!!
- Android自定义View之实现环形进度条
- 【Android】自定义View —— 环形调色板
- android 自定义view之简易环形进度条
- 自定义view-环形进度条
- 自定义view-环形进度条
- 自定义View环形递增
- 自定义view 自定义进度条 progress
- Android在自定义View(SurfaceView)中实现进度条Progress
- Android在自定义View(SurfaceView)中实现进度条Progress
- Android在自定义View(SurfaceView)中实现进度条Progress
- 自定义View android 像支付宝支付界面的progress
- Android自定义View,实现Progress(水波纹动画)
- Android自定义view之环形等待控件的实现
- android自定义view笔记
- Android自定义View笔记
- 提升你的Java应用性能:改善数据处理
- POJ 1009 Edge Detection 已被翻译
- linux中如何部署tomcat应用
- 二维数组中取某一相同字段的值进行拼接字符串用于in查询
- 2017年大数据发展十大新趋势
- Android 笔记:自定义View 环形Progress
- 关于Class.getResource和ClassLoader.getResource的路径问题
- 变量解构赋值的用途
- Tomcat性能优化
- sqlserver 系统表的常见用法
- win32获取硬盘及mac地址
- 爸妈催我卖茶叶
- iOS开发- 蓝牙后台接收数据(BLE4.0) .
- flume监控spoolDir日志到HDFS整个流程小Demo