转载  http://www.cnblogs.com/uncle2000/p/3796034.html

【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】

当前版本:SimpleWaveView_v1.0.20140618

先看效果图,这个加速球是动态的,并且当调用了myView.setRefresh(0.8F);方法后可以从当前值动态降到0再升到80%,期间可以看到颜色的变化。颜色不是渐变的。本人不会弄动态图所以只有静态图片 = =

本进度球的优点:

1之前我用一张波浪图片不停的截取来做,结果在我的200M的虚拟机上渐渐的开始卡,并且系统不停的自动GC,所以就用了这种方式来做,大大优化了其对CPU和内存的压力。

值得一提的是,当其所属的父View被cleanAnimation后,进度球的波浪会停止,由于本人时间非常紧,所以诸如此类的问题请给我留言,我会在有时间的时候来回复和加入新的东西。

2可以变色,最多可以设置三种颜色,详细看后的API

3反正一定要看API。

小提示:

亮色的背景可以减少视觉对锯齿的感知哦!

下图是在帧布局中的,就不上布局了哈,毕竟帧布局是最简单的布局。

当设置了

myView.setWaveDiffrentColor(0xffff0f04, 0xfffdd803, 0xff00ed04, 0.3F, 0.6F);

后进行刷新后的三种色的图片。相信看后边的中文API。文字是帧布局盖上去的,不是demo中的

demo的下载地址在CSDN上,老规矩,0分即可下载。我都这么虔诚了,所以请各位亲若转载我的文章附上我的blog的地址,以后若有新版本方便更换。http://www.cnblogs.com/uncle2000/

使用方法,这次不需要你传长宽和像素密度了。

LinearLayout ll;com.ww.view.SimpleWaveViewmyview =new com.ww.view.SimpleWaveView(getApplicationContext());ll=(LinearLayout)findViewById(R.id.ll);
ll.addView(myview);myview.setWaveDiffrentColor(0xffff0f04, 0xfffdd803, 0xff00ed04, 0.3F, 0.6F);myview.setRefresh(0.8F);

API:

    /*** Level1在(0%,100%)之间则ColorLevel1,ColorLevel2生效,有两种颜色。Level2在(Level1,100%)之间则ColorLevel1,ColorLevel2,ColorLevel3生效,有三种颜色。* 该方法一旦生效,则setColor()方法自动失效。* @param ColorLevel1 [0%,Level1)之间的波浪的颜色* @param ColorLevel2 Level2生效的情况下,显示为[Level1,Level2)之间的波浪的颜色,Level2不生效的情况下,显示为[Level1,100%]之间的波浪的颜色。* @param ColorLevel3 [Level2,100%]之间的波浪的颜色* @param Level1 第一分界* @param Level2 第二分界,大于Level1生效,否则默认失效。*/public void setWaveDiffrentColor(int ColorLevel1,int ColorLevel2,int ColorLevel3,float Level1,float Level2) {}
/*** 设置波浪的颜色,如果设置了setWaveDiffrentColor()方法则setColor()自动失效。* @param color波浪颜色*/public void setColor(int color) {}
/*** 从刷新前的高度降到0,然再升到刷新后的高度* @param refresh 刷新之后的高度*/public void setRefresh(float refresh) {}
/*** 取值0~255之间,255代表不透明。* @param alpha 透明度*/public void setAlpha(int alpha) {}
    /*** 决定了两个波峰之间的距离,该参数越大,波峰之间的距离越小* @param peakSpacing 波间距(反比)*/public void setPeakSpacing(double peakSpacing) {}
    /*** 决定了当前波浪停留的位置。取值0~1之间。* @param percentage 百分比*/public void setPercentage(float percentage) {}
    /*** 决定了波的高度* @param amplitude 幅度*/public void setAmplitude(float amplitude) {}
    /*** * @param speedH 水平波浪的速度*/public void setSpeedH(float speedH) {}
/*** * @param speedV 升降的速度*/public void setSpeedV(float speedV) {}

下载地址:

http://download.csdn.net/detail/w52155242/7517331

【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】相关推荐

  1. 球体动画Android,Android自定义View实现简单炫酷的球体进度球实例代码

    前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单.先看下效果: 效果还是非常不错的. 准备知识 要实现上面的效果我们只要掌握两个 ...

  2. Android自定义View之实现简单炫酷的球体进度球

    前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单.先看下效果: 效果还是非常不错的. 准备知识 要实现上面的效果我们只要掌握两个 ...

  3. android 图片处理过程中添加进度条,『Android自定义View实战』给我一个图标,还你一个水波纹进度球...

    前言 我们都知道,平时表现进度的方式有千千万万种(没有UI想不到的,只有你做不到的= =.),其中有一种就是水波纹进度球的形式,网上很多种实现都是直接采用纯色填充的方式,即水波纹都是纯颜色填充,效果看 ...

  4. android自定义水波纹,android 自定义view-水波纹进度球

    android 进阶之路-自定义view-水波纹进度球 如果你是老司机,一看标题就会就return吧,嘻嘻. 在我们的日常开发中自定义控件还是用的挺多的,设计师或者产品为了更好的漂亮,美观,交互都会做 ...

  5. android 动态壁纸 波浪效果,Android使用自定义View实现360手机卫士波浪球进度的效果...

    像360卫士的波浪球进度的效果,一般最常用的方法就是画线的方式,先绘sin线或贝塞尔曲线,然后从左到右绘制竖线,然后再裁剪圆区域. 今天我这用图片bitmap的方式,大概的方法原理是: (1)首先用c ...

  6. 含稀土配合物粒径小/发色性能好的聚苯乙烯荧光微球/交联羧基聚苯乙烯微球/单分散荧光微球/红色荧光微球

    含稀土配合物粒径小/发色性能好的聚苯乙烯荧光微球/交联羧基聚苯乙烯微球/单分散荧光微球/红色荧光微球 含稀土配合物粒径小/发色性能好的聚苯乙烯荧光微球/交联羧基聚苯乙烯微球/单分散荧光微球/红色荧光微 ...

  7. scrollview下拉刷新_SwiftUI之View Tree 实战3(下拉刷新)

    不得不说,在SwiftUI中,Preference这项技术实在是太神奇了,这也是我为什么写这么多与其相关文章的原因,它的原理是如此的简单,但加上我们的想象力,它却又无所不能. 在本篇文章中,我们将再次 ...

  8. 用 Python 写出这样的进度条,刷新了我对进度条的认知

    ❞ 1 简介 在日常运行程序的过程中常常涉及到「循环迭代」过程,对于执行时间很短的程序来说倒无所谓,但对于运行过程有明显耗时的涉及「循环迭代」的程序,为其加上「进度条」(progress bar),是 ...

  9. android 自定义view 水波纹进度球

    如果你是老司机,一看标题就会就return吧,嘻嘻. 在我们的日常开发中自定义控件还是用的挺多的,设计师或者产品为了更好的漂亮,美观,交互都会做一些牛逼的ui效果图,但是最后实现的还是我们程序员啊. ...

  10. 描述: 一注完整的双色球彩票号码由5个红色号码,2个蓝色号码组成 共七位数注意: 只要刷新一次页面 让球发生一次变化

    1.正确排版,还原页面(10分) (1)正确实现左右布局 红色区域  和 蓝色区域  还有背景色的样式(10分) 正确实现js功能(90分)(核心) (1)封装随机数的函数(8分) (2)封装号码数字 ...

最新文章

  1. Nature灵魂拷问:微生物组数据一大堆,如何能改变人类健康?
  2. 二叉树笔记(深度遍历与广度遍历+13道leetcode题目(深度3道、广度10道))
  3. mybatis学习(4):工具类和实体类的创建
  4. data-role参数表:
  5. 世界上第一个手机是怎么诞生的?谁是第一个用手机的人?
  6. win系统常用的运行命令
  7. win10 动态磁盘 linux,教你如何将win10系统动态磁盘改成基本磁盘?
  8. html如何让英文自动换行,HTML如何让英文自动换行不断词
  9. Python编程快速上手----让繁琐的工作自动化(1. python编程基础)
  10. mstar Android解锁,液晶电视维修之Mstar方案从强刷包提取引导的方法
  11. http转https后资源加载不显示
  12. 【MySQL】增大字符串长度不会锁表吗
  13. 课程列表和整合阿里云视频点播
  14. 自动监控Oracle 表空间信息并发送邮件脚本
  15. HTML和CSS实现京东首页(附GitHub地址)
  16. 使用wireshark抓取聊天信息与爬虫入门
  17. 出版一本书可以赚多少钱_出版商精选:2015年29本书
  18. 平常心态过快乐的生活
  19. uva1601(The morning after Helloween)解题报告
  20. 动手实践看懂深度学习的DP和DDP

热门文章

  1. linux学习笔记-切换目录
  2. 计算机毕设参考文献、Java参考文献、MySQL参考文献、jsp参考文献、Python参考文献、微信小程序参考文献、外文参考文献
  3. 信号与线性系统管致中第六版pdf_【对讲机的那点事】无线电天馈系统中载频合路器的作用...
  4. Spark-SQL常用内置日期时间函数
  5. CleanMyMac X4.11.1中文正式版 系统优化 垃圾清理 程序卸载工具
  6. 数学思维游戏两则:Gabriel喇叭、世界末日论
  7. Quartus仿真步骤
  8. VLFeat中SIFT特征点检测
  9. UniWebView 3 使用心得
  10. 原生社区交友婚恋视频即时通讯双端APP源码 ONE兔2.0版