给progress 进度条添加动画效果
来源:互联网 发布:居民社保退休工资算法 编辑:程序博客网 时间:2024/05/29 05:01
/** * 设置百分比 * * @param progress */public void setProgress(int progress, boolean animal) { if (progress < 0 || progress > 100) { throw new IllegalArgumentException("progress 不可以小于0 或大于100"); } this.progress = progress; // 进度 this.animal = animal; // true 为开启动画 fase 为取消动画效果 postInvalidate(); if (progressChangedListener != null) { progressChangedListener.onProgressChanged(this, progress); }}
@Overridepublic void draw(Canvas canvas) { Log.d(TAG, "[draw] .. in .. "); super.draw(canvas); if (animal) { // 在onDraw 里面开始执行 startAnimation(progress); animal = false; } else { linePaint = new Paint(); linePaint.setAntiAlias(true); linePaint.setStyle(Paint.Style.FILL); linePaint.setStrokeWidth(lineHeight); linePaint.setColor(getResources().getColor(lineClor)); //因为是以画布Canvas 为draw对象,所以RectF构造函数内的参数是以canvas为边界,而不是屏幕 canvas.drawLine(0, getHeight() / 2, getWidth(), getHeight() / 2, linePaint); pointPaint = new Paint(); pointPaint.setAntiAlias(true); pointPaint.setStyle(Paint.Style.FILL); pointPaint.setColor(getResources().getColor(pointColor1)); canvas.drawCircle(getCx(), getHeight() / 2, pointRadius, pointPaint); linePaintOut = new Paint(); linePaintOut.setAntiAlias(true); linePaintOut.setStyle(Paint.Style.FILL); linePaintOut.setStrokeWidth(lineHeight); linePaintOut.setColor(getResources().getColor(pointColor)); canvas.drawLine(0, getHeight() / 2, getCx(), getHeight() / 2, linePaintOut); }}
/** * 开始动画 * * @param progress * @author hubing */private void startAnimation(int progress) { // 初始化动画 if (progressAnimator == null) { progressAnimator = new ValueAnimator(); progressAnimator.setDuration(800); progressAnimator.addUpdateListener(this); } // 重置动画值 progressAnimator.setIntValues(0, progress); progressAnimator.start();}
阅读全文
0 0
- 给progress 进度条添加动画效果
- html5 进度条效果<progress>
- 给控件添加动画效果
- 给ListView添加动画效果
- 安卓Android多阶段进度条progress bar附带动画效果
- 给View控件添加动画效果
- 给TableView添加一点动画效果
- jQquery :animated 给没有动画效果的元素添加动画
- 进度条progress
- Progress进度条
- progress进度条
- android中动给组建添加动画载入效果
- Android wiki:02.给activity添加动画效果
- 给控件添加炫酷的动画效果
- IOS 给一个控件添加一个动画组的效果
- Android仿一点资讯收藏Toast动画效果(给Toast添加动画效果)
- dashed-circular-progress——Android动画圆环进度条控件
- 圆形进度条动画效果实现
- python 文件读写
- HashMap的理解
- Flex定制Tree外观
- .net和win32的区别
- Java集合Collection和Map分析解读
- 给progress 进度条添加动画效果
- windows系统下使用cd命令
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 无限报错问题
- 为RecyclerView的Item添加点击及长按事件的三种方法
- 函数求值
- laravel加载外部类
- java并发编程--ThreadLocal的用法和分析
- 启用Windows10自带的Linux系统
- 具体化