炫酷的进度条效果实现

来源:互联网 发布:美林大数据 编辑:程序博客网 时间:2024/06/08 05:26

SpecialProgressBar

项目地址:zhangke3016/SpecialProgressBar
简介:一个炫酷的进度条效果实现

A Special Progress Bar for Android

创意来自Dribbble

Preview

SpecialProgressBar

SpecialProgressBar

SpecialProgressBar

Usage xml

  <com.mrzk.specialprolibrary.SpecialProgressBarView        android:id="@+id/ls"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        app:startDrawable="@drawable/ic_file_upload_white_36dp"        app:endSuccessDrawable="@drawable/ic_done_white_36dp"        app:textSize="12sp"        app:textColorSuccess="#66A269"        app:textColorNormal="#491C14"        app:textColorError="#BC5246"        app:progressBarHeight="4dp"        app:progressBarBgColor="#491C14"        app:progressBarColor="#ffffff"        app:canReBackable="true"        app:canDragable="false"        />

java

            ls = (SpecialProgressBarView) findViewById(R.id.ls);            ls.setEndSuccessBackgroundColor(Color.parseColor("#66A269"))//设置进度完成时背景颜色            .setEndSuccessDrawable(R.drawable.ic_done_white_36dp,null)//设置进度完成时背景图片            .setCanEndSuccessClickable(false)//设置进度完成后是否可以再次点击开始            .setProgressBarColor(Color.WHITE)//进度条颜色            .setCanDragChangeProgress(false)//是否进度条是否可以拖拽            .setCanReBack(true)//是否在进度成功后返回初始状态            .setProgressBarBgColor(Color.parseColor("#491C14"))//进度条背景颜色            .setProgressBarHeight(ls.dip2px(this,4))//进度条宽度            .setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 12, getResources().getDisplayMetrics()))//设置字体大小            .setStartDrawable(R.drawable.ic_file_upload_white_36dp,null)//设置开始时背景图片            .setTextColorSuccess(Color.parseColor("#66A269"))//设置成功时字体颜色            .setTextColorNormal(Color.parseColor("#491C14"))//设置默认字体颜色            .setTextColorError(Color.parseColor("#BC5246"));//设置错误时字体颜色            ls.beginStarting();//启动开始开始动画            ls.setError();//进度失败 发生错误   ls.setOnAnimationEndListener(new SpecialProgressBarView.AnimationEndListener() {            @Override            public void onAnimationEnd() {                ls.setMax(187);                ls.setProgress(num);//初次进入在动画结束时设置进度            }        });        ls.setOntextChangeListener(new SpecialProgressBarView.OntextChangeListener() {            @Override            public String onProgressTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {                return progress * 100 / max + "%";            }            @Override            public String onErrorTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {                return "error";            }            @Override            public String onSuccessTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {                return "done";            }        });
1 0
原创粉丝点击