話不多說,先上效果圖
循環旋轉的狀态
一個sample包,一個lib包。lib包裡面其實隻有一個累,很多内容都在素材檔案裡,比較建議把内容複制出來,貼到自己的項目中
主類:
分析:
一個circleprogressview自定義控件,2個seekbar來控制進度條的百分比,以及長度,2個switch用于切換顯示内容,和一堆顯示的textview
可以在onstart()調用setvalue()方法,來給進度條指派。而内部實作也是handle傳參的一系列操作
在handlemessage方法裡又調用setvalue(msg, circleview);
最終實作的是setvalue(message msg, circleprogressview _circleview)方法
是以,你在代碼操作的過程中,可以肆意調用setvalue()方法,不用在意會對其他部分的内容産生影響。
sample代碼裡的 mseekbarspinnerlength.setmax(360);就等于mcircleview.setspinningbarlength(seekbar.getprogress());給環狀的spinningbar傳一個int的值讓他呈現出一個角度為seekbar.getprogress()/360的圖形。當然你傳入的數值<360時,seekbar拉到底了也不會成為整圓 那麼>360的話隻要到達360圓就已經呈現出來了,多餘的值将沒有效果。
效果如圖:
然後我們來看下核心類circleprogressview
然後洋洋灑灑1300+行的代碼,我就不一一分析了,一些是畫的一些是用的,亟亟就不做過多解釋了,自己可以看源碼,為了用那我們來看下一些配置
對圖形的整個大小啊,半徑啊,字型的大小啊等進行設定。
顔色的設定,圓的顔色,字的顔色等
總體來說,使用起來還是很友善的,附上源碼大家自己看吧
http://yunpan.cn/cdlffuxtanydr 通路密碼 6c65