前言#
最近群里有人說他們在項目中有實現(xiàn)圓形進度的需求,但是對于自定義View的技能比較弱。
后來我索性直接做成一個庫,直接一句代碼即可使用compile'com.wanlili:circleprogressview:1.0.1'
一句話#
一個簡約純粹的圓形進度條。(API>=19)
上gif#
circleProgressView.gif
使用#
你只需要傳入你想要的參數(shù)即可。例如
如果你想要一些自定義的樣式(有以下三個自定義屬性)
<com.wanli.com.circleprogressview.CircleProgressView
android:id="@+id/circle"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
app:c_colorCircle="@color/colorPrimary" //圓形的顏色
app:c_colorProgress="@color/colorAccent" //進度的顏色
app:c_strokeWidth="20.0" /> //圓形的寬度
如果你想在啟動之前設(shè)置一些默認值
circle = (CircleProgressView) findViewById(R.id.circle);
circle.setDurationsecondscurrent(1f); //設(shè)置當前進度
circle.setDurationSecondsMax(10f); //設(shè)置最大進度
circle.setTotalSeconds(1000); //設(shè)置一共需要耗時多少毫秒。不設(shè)置默認從1到10為每隔一秒加1
啟動
circle.start(); //啟動
如果你還想在啟動后實時得到進度的數(shù)值,那么你啟動的時候傳一個接口回調(diào)參數(shù)即可
circle.start(new CircleProgressView.OnProgressListener() {
@Override
public void onProgressListener(float progress) { //實時進度的數(shù)值
text1.setText(String.valueOf(progress));
}
@Override
public void onProgressEnd(float progress) { //結(jié)束的數(shù)值
text1.setText(String.valueOf(progress));
}
});
也許你想在其它地方得到進度數(shù)值
circle.getDurationsecondscurrent()
暫停,恢復,判斷是否結(jié)束呢
circle.pause();
circle.resume();
circle.isEnd()
也許你還想看看源碼,或者直接來個例子
https://github.com/WanLiLi/CircleProgressView 記得Star
也許你還好奇上一篇講了什么?
http://www.lxweimin.com/p/f160b787231e Android折疊伸縮效果的實現(xiàn)
基于上一篇的文章中的gif,有一個好眼力的簡友[Android里的海賊王]就詢問從A跳轉(zhuǎn)到B界面中的圖片動畫是怎么實現(xiàn)的,多個元素一起執(zhí)行動畫又怎么實現(xiàn)。關(guān)于這個問題,不知道有多少人需要了解?
結(jié)束#
感謝打賞過以及關(guān)注的簡友,是你們讓我在心情不好的時候還能堅持寫作。