【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】
轉載 ?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】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h2 mysql 兼容_H2内存数据库对
- 下一篇: 设备的分配与调度简单方案_连铸生产调度与