【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】
轉(zhuǎn)載 ?http://www.cnblogs.com/uncle2000/p/3796034.html
【View】之【SimpleWaveView】可多色可刷新的加速球、進(jìn)度球【demo】
當(dāng)前版本:SimpleWaveView_v1.0.20140618
先看效果圖,這個(gè)加速球是動(dòng)態(tài)的,并且當(dāng)調(diào)用了myView.setRefresh(0.8F);方法后可以從當(dāng)前值動(dòng)態(tài)降到0再升到80%,期間可以看到顏色的變化。顏色不是漸變的。本人不會(huì)弄?jiǎng)討B(tài)圖所以只有靜態(tài)圖片 = =
本進(jìn)度球的優(yōu)點(diǎn):
1之前我用一張波浪圖片不停的截取來做,結(jié)果在我的200M的虛擬機(jī)上漸漸的開始卡,并且系統(tǒng)不停的自動(dòng)GC,所以就用了這種方式來做,大大優(yōu)化了其對(duì)CPU和內(nèi)存的壓力。
值得一提的是,當(dāng)其所屬的父View被cleanAnimation后,進(jìn)度球的波浪會(huì)停止,由于本人時(shí)間非常緊,所以諸如此類的問題請(qǐng)給我留言,我會(huì)在有時(shí)間的時(shí)候來回復(fù)和加入新的東西。
2可以變色,最多可以設(shè)置三種顏色,詳細(xì)看后的API
3反正一定要看API。
小提示:
亮色的背景可以減少視覺對(duì)鋸齒的感知哦!
下圖是在幀布局中的,就不上布局了哈,畢竟幀布局是最簡單的布局。
當(dāng)設(shè)置了
myView.setWaveDiffrentColor(0xffff0f04, 0xfffdd803, 0xff00ed04, 0.3F, 0.6F);
后進(jìn)行刷新后的三種色的圖片。相信看后邊的中文API。文字是幀布局蓋上去的,不是demo中的
demo的下載地址在CSDN上,老規(guī)矩,0分即可下載。我都這么虔誠了,所以請(qǐng)各位親若轉(zhuǎn)載我的文章附上我的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()方法自動(dòng)失效。* @param ColorLevel1 [0%,Level1)之間的波浪的顏色* @param ColorLevel2 Level2生效的情況下,顯示為[Level1,Level2)之間的波浪的顏色,Level2不生效的情況下,顯示為[Level1,100%]之間的波浪的顏色。* @param ColorLevel3 [Level2,100%]之間的波浪的顏色* @param Level1 第一分界* @param Level2 第二分界,大于Level1生效,否則默認(rèn)失效。*/public void setWaveDiffrentColor(int ColorLevel1,int ColorLevel2,int ColorLevel3,float Level1,float Level2) {} /*** 設(shè)置波浪的顏色,如果設(shè)置了setWaveDiffrentColor()方法則setColor()自動(dòng)失效。* @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) {} /*** 決定了兩個(gè)波峰之間的距離,該參數(shù)越大,波峰之間的距離越小* @param peakSpacing 波間距(反比)*/public void setPeakSpacing(double peakSpacing) {} /*** 決定了當(dāng)前波浪停留的位置。取值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
總結(jié)
以上是生活随笔為你收集整理的【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h2 mysql 兼容_H2内存数据库对
- 下一篇: 设备的分配与调度简单方案_连铸生产调度与