摘要:目錄介紹本庫優勢亮點使用介紹圓環百分比進度條直線百分比進度條仿殺毒類型百分比進度條注意要點效果展示其他介紹本庫優勢亮點圓環百分比進度條簡便且小巧,支持設置多種屬性。避免開發者使用造成其他問題。返回真正的進度值。
目錄介紹
1.本庫優勢亮點
2.使用介紹
2.1 圓環百分比進度條
2.2 直線百分比進度條
2.3 仿殺毒類型百分比進度條
3.注意要點
4.效果展示
5.其他介紹
1.本庫優勢亮點
圓環百分比進度條
簡便且小巧,支持設置多種屬性。可以設置內圓和外圓的顏色,設置圓環的邊緣寬度。
支持設置倒計時總時間,可以調用start開始倒計時,也可以調用stop暫停倒計時,也可以自定義設置進度
仿殺毒類型百分比進度條
支持設置多種類型,比如設置百分比+單位類型,或者設置空類型【也就是不顯示中間百分比】
支持設置進度條的顏色,未更新的進度條顏色;設置百分比文字大小,顏色;支持設置單位等多種屬性
支持允許多線程訪問,對于設置setProgress,添加synchronized關鍵字修飾。設置進度progress,如果小于0或者大于100,則拋異常。避免開發者使用造成其他問題。
針對進度條,對于設置color顏色的方法,增加了注解@ColorInt,限制開發者調用color資源
使用注解代替了枚舉,針對設置枚舉的方法,使用注解限制開發者調用時傳入的類型。具體可見代碼案例!
注釋十分詳細,作為開源的lib庫,我覺得要讓使用者一目了然。方便調用同時,知道每個方法的作用。
代碼量少,如果想學習并深入自定義控件,可以從簡單開始。這個項目就很符合!
項目地址:https://github.com/yangchong2...
2.使用介紹集成庫:compile "cn.yc:YCProgressLib:1.2.6"
2.1 圓環百分比進度條
在布局中
//也可以設置布局中的attr屬性
使用方法
//設置類型 pb_1.setProgressType(ProgressBarUtils.ProgressType.COUNT); //設置圓形的填充顏色 pb_1.setInCircleColor(getResources().getColor(R.color.redTab)); //設置外部輪廓的顏色 pb_1.setOutLineColor(getResources().getColor(R.color.grayLine)); //設置進度監聽 pb_1.setCountdownProgressListener(1, progressListener); //設置外部輪廓的顏色 pb_1.setOutLineWidth(2); //設置進度條線的寬度 pb_1.setProgressLineWidth(5); //設置進度 pb_1.setProgress(60); //設置倒計時總時間 pb_1.setTimeMillis(3000); //設置進度條顏色 pb_1.setProgressColor(getResources().getColor(R.color.colorPrimary)); //開始 pb_1.start(); //暫停 pb_1.stop(); //重新開始 pb_1.reStart();2.2 直線百分比進度條
在布局中
代碼調用
bar1 = (NumberProgressbar) findViewById(R.id.bar1); //設置倒計時總時間 bar1.setTimeMillis(10000); //設置最大進度條的值 bar1.setMax(100); //設置進度條文本的顏色 bar1.setProgressTextColor(this.getResources().getColor(R.color.colorAccent)); //設置進度條文本的大小 bar1.setProgressTextSize(ProgressBarUtils.sp2px(this,14)); //設置百分比文字內容是否可見 bar1.setNumberTextVisibility(ProgressBarUtils.NumberTextVisibility.Visible); //設置百分比進度條的高度 bar1.setReachedBarHeight(10); //設置未更新百分比進度條的高度 bar1.setUnreachedBarHeight(10); //設置百分比進度條的顏色 bar1.setReachedBarColor(this.getResources().getColor(R.color.redTab)); //設置未更新百分比進度條的顏色 bar1.setUnreachedBarColor(this.getResources().getColor(R.color.blackText2)); //設置百分比進度條的監聽 bar1.setOnProgressBarListener(new OnNumberProgressListener() { @Override public void onProgressChange(int current, int max) { } }); //開始 bar1.start(); //暫停 bar1.stop();2.3 仿殺毒類型百分比進度條
布局代碼
如何調用
bar_percent = (RingProgressBar) findViewById(R.id.bar_percent); //設置進度 bar_percent.setProgress(0); //設置更新進度條顏色 bar_percent.setDotColor(this.getResources().getColor(R.color.colorAccent)); //設置未更新部分的進度條顏色 bar_percent.setDotBgColor(this.getResources().getColor(R.color.blackText)); //設置百分比文字顏色 bar_percent.setPercentTextColor(this.getResources().getColor(R.color.blackText1)); //設置百分比文字大小 bar_percent.setPercentTextSize(ProgressBarUtils.dp2px(this,16.0f)); //設置展示的類型 bar_percent.setShowMode(ProgressBarUtils.RingShowMode.SHOW_MODE_PERCENT); //設置單位的文字內容 bar_percent.setUnitText("%"); //設置單位的文字大小 bar_percent.setUnitTextSize(ProgressBarUtils.dp2px(this,16.0f)); //設置單位的文字顏色 bar_percent.setUnitTextColor(this.getResources().getColor(R.color.blackText1));
可以設置多種類型
第一種:百分比+單位【支持自己設置單位,比如設置%,或者設置毫秒s等】
第二種:空顯示模式【也就是不顯示中間的部分】
3.注意要點
3.1 不論是圓環進度條還是直線進度條,在調用setProgress設置進度時,增加了驗證進度的功能。因為如果設置值超過100或者小于0,該方法就起作用呢!
/**
* * @param progress 你要驗證的進度值。 * @return 返回真正的進度值。 */ private int validateProgress(int progress) { if (progress > 100){ progress = 100; } else if (progress < 0){ progress = 0; } return progress; } ```
3.2 針對CircleProgressbar和NumberProgressbar自定義控件,如果調用start方法開始循環執行setProgress,程序意外銷毀,則注意:
/**
*/ @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); stop(); } ```
項目地址:https://github.com/yangchong2...
4.效果展示v1.0.0 更新于2016/2/10 作用于投資界下載更新進度條,學習自定義控件
v1.1.1 更新于2016/8/12 針對圓環進度條,添加自定義attr屬性
v1.1.2 更新于2017/3/10 針對圓環進度條添加設置倒計時總時間,start和stop方法
v1.1.3 更新于2017/5/27 針對設置進度的方法,增加校驗,不能小于0或者大于100
v1.2.5 更新于2018年8月24日 添加了直線百分比進度條,針對部分方法添加注解
v1.2.6 更新于2018年11月30日 添加了詳細的注釋
v1.2.7 更新于2018/12/3 更新targetSdkVersion版本是27
關于直線百分比進度條參考了代碼家NumberProgressBar項目:https://github.com/daimajia/N...
關于博客匯總鏈接1.技術博客匯總
2.開源項目匯總
3.生活博客匯總
4.喜馬拉雅音頻匯總
5.其他匯總
其他推薦博客筆記大匯總【15年10月到至今】,包括Java基礎及深入知識點,Android技術博客,Python學習筆記等等,還包括平時開發中遇到的bug匯總,當然也在工作之余收集了大量的面試題,長期更新維護并且修正,持續完善……開源的文件是markdown格式的!同時也開源了生活博客,從12年起,積累共計47篇[近20萬字],轉載請注明出處,謝謝!
鏈接地址:https://github.com/yangchong2...
如果覺得好,可以star一下,謝謝!當然也歡迎提出建議,萬事起于忽微,量變引起質變!
關于LICENSELicensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72554.html
摘要:需求分析頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示樣式實現兩個主要部分進度條,內外兩個盒子組成,外層做進度條邊框,內層做填充效果百分比顯示,一個標簽就夠了進度條樣式設置開始進度條樣式設置結束功 需求分析 頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示showImg(https://segmentfault.com/img/bV7z...
摘要:需求分析頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示樣式實現兩個主要部分進度條,內外兩個盒子組成,外層做進度條邊框,內層做填充效果百分比顯示,一個標簽就夠了進度條樣式設置開始進度條樣式設置結束功 需求分析 頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示showImg(https://segmentfault.com/img/bV7z...
摘要:需求分析頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示樣式實現兩個主要部分進度條,內外兩個盒子組成,外層做進度條邊框,內層做填充效果百分比顯示,一個標簽就夠了進度條樣式設置開始進度條樣式設置結束功 需求分析 頁管會員信息展示頁面需要多個百分比顯示的長方形進度條,最終效果如下圖所示showImg(https://segmentfault.com/img/bV7z...
摘要:自定義視頻播放器微信公眾號開發企業級產品全棧開發速成周末班首期班號正式開班,歡迎搶座作者簡介是推出的一個天挑戰。 Day11 - 自定義視頻播放器 (Node+Vue+微信公眾號開發)企業級產品全棧開發速成周末班首期班(10.28號正式開班,歡迎搶座) 作者:?liyuechun 簡介:JavaScript30 是 Wes Bos 推出的一個 30 天挑戰。項目免費提供了 30 個視...
閱讀 4981·2021-11-25 09:43
閱讀 1684·2021-10-27 14:18
閱讀 1054·2021-09-22 16:03
閱讀 1348·2019-08-30 13:19
閱讀 1571·2019-08-30 11:15
閱讀 1645·2019-08-26 14:04
閱讀 3123·2019-08-23 18:40
閱讀 1165·2019-08-23 18:17