GithubHelp home page GithubHelp logo

hpboss / progressbarpro Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 2.08 MB

Here you can find Horizontal、Circle、Charge、Node ProgressBar

Java 100.00%
progressview horizontalprogressview circleprogressview chargeprogressview nodeprogressview android

progressbarpro's Introduction

ProgressBarPro

ProgressBarPro集成了四种ProgressView,希望能满足您绝大部分ProgressView相关的需求😄

Gradle

implementation 'com.joson.progress:ProgrssBarPro:1.0.1'
  1. HorizontalProgressView(inspired from NumberProgressBar

    • 示图
    • HorizontalProgressView自定义属性说明
      属性 类型 默认值 说明
      progressMax integer 100 最大进度值
      progressCurrent integer 0 当前进度值
      progressBarHeight dimension 1.5dp 进度条垂直高度
      progressUnreachedColor color #CCCCCC 进度条前景颜色
      progressReachedColor color #4291F1 进度条后景颜色
      progressTextColor color #4291F1 百分比字体颜色
      progressTextSize dimension 10sp 百分比字体大小
      progressAnimTime integer 3000 进度条动画时间
      progressCornerRadius float 0 进度条圆角

      当传入的progressBarHeight值大于20dp时,进度条从线型变为条形

      如果未设置圆角progressCornerRadius默认为矩形进度条或者线形

    • 布局示例
      <com.joson.progress.view.horizontal.HorizontalProgressView
          android:id="@+id/horizontalProgress"
          android:layout_width="0dp"
          android:layout_height="wrap_content"
          app:progressBarHeight="25dp"
          app:progressCurrent="0"
          app:progressMax="100"
          app:progressBarHeight="20dp"
          app:progressCornerRadius="25"
          app:progressUnreachedColor="#CCCCCC"
          app:progressReachedColor="#70A800"
          app:progressTextSize="10sp"
          app:progressTextColor="#70A800">
      
      </com.joson.progress.view.horizontal.HorizontalProgressView>
    • 代码示例
      horizontalProgressView.setAnimTime(2000); // 可以不设置
      horizontalProgressView.setProgress(80); // 必须设置
  2. CircleProgressView

    • 示图
    • CircleProgressView自定义属性说明
      属性 类型 默认值 说明
      progressMax integer 100 最大进度值
      progressMode enum SEMI_CIRCLE (270度圆环) 圆环进度条模式
      progressUnit string 进度条单位
      progressStrokeWidth dimension 5dp 圆环宽度
      progressValueTextSize dimension 10sp 值的字体大小
      textOffsetPercentInRadius float 0.44 占半径的百分比
      progressHintTextSize dimension 20sp 提示字体大小
      progressAnimTime integer 1000 进度条动画时间
      progressArcColors color 0 渐变色数组(长度不超过3)
      progressUnreachedColor color #CCCCCC 进度条前景颜色
      progressReachedColor color #4291F1 进度条后景颜色
      progressValueTextColor color #4291F1 值的字体颜色
      progressHint string 提示内容

      当你没有设置progressArcColors时,默认不是渐变色,progressHint如果没有设置,那么不会显示任何提示内容,progressUnit同样。

    • 布局示例
      <com.joson.progress.view.circle.CircleProgressView
          android:id="@+id/circleProgress3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          app:progressArcColors="@array/gradient_arc_color"
          app:progressHint="达标率"
          app:progressHintTextSize="13sp"
          app:progressMax="100"
          app:progressMode="semiCircle"
          app:progressStrokeWidth="5dp"
          app:progressUnit="%"
          app:progressAnimTime = "2000"
          app:progressValueTextSize="30sp"
          app:textOffsetPercentInRadius="0.55">
      
      </com.joson.progress.view.circle.CircleProgressView>
    • 代码示例
      circleProgressView.setAnimTime(3000); // 可以不设置
      circleProgressView.setProgress(90); // 必须设置
  3. ChargeProgressView(苹果设备无线充电)

    • 示图
    • ChargeProgressView自定义属性说明
      属性 类型 默认值 说明
      progressMax integer 100 最大进度值
      progressHint string 下方提示内容
      progressStrokeWidth dimension 5dp 圆环宽度
      progressUnit string 进度条单位
      progressValueTextSize dimension 10sp 提示内容和值的字体大小
      progressAnimTime integer 1000 进度条动画时间
      progressUnreachedColor color #B4949A 进度条前景颜色
      progressReachedColor color #FBEEDC、#6AE382 进度条后景颜色
      progressValueTextColor color #FBEEDC 提示内容和值的字体大小

      至于为什么progressReachedColor默认值有两个,当电量低于20%时为#FBEEDC,高于20%以后则为#6AE382,而且你初始化时只能够自定义progressReachedColor大于20%时的颜色。

    • 布局示例
      <com.joson.progress.view.circle.ChargeProgressView
          android:id="@+id/chargeProgressView"
          android:layout_width="250dp"
          android:layout_height="250dp"
          android:layout_marginTop="32dp"
          android:background="@color/black"
          app:layout_constraintEnd_toEndOf="parent"
          app:layout_constraintStart_toStartOf="parent"
          app:layout_constraintTop_toBottomOf="@+id/circleProgress2"
          app:progressMax="100"
          app:progressHint = "目前电量"
          app:progressStrokeWidth="10dp"
          app:progressUnit="%"
          app:progressValueTextSize="15sp"
          app:progressAnimTime = "3000">
      
      </com.joson.progress.view.circle.ChargeProgressView>
    • 代码示例
      chargeProgressView.setAnimTime(500); // 当设置时间大于0时才有效
      chargeProgressView.setProgress(0);
  4. NodeProgressView

    • 示图
    • NodeProgressView自定义属性说明
      属性 类型 默认值 说明
      progressStage integer 3 总节点数
      progressRadius dimension 10dp 圆节点半径
      progressStrokeWidth dimension 1dp 圆节点外环宽度

      除了stage,目前暂不推荐修改其它数据

    • 布局示例
      <com.joson.progress.view.node.NodeProgressView
          android:id="@+id/nodeProgressView"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content">
      </com.joson.progress.view.node.NodeProgressView>
    • 代码示例
      // 自行设计前进和回退触发事件
      lastButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              nodeProgressView.backStage();
          }
      });
      
      nextButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              nodeProgressView.addStage();
          }
      });

progressbarpro's People

Contributors

hpboss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

csu-anzai

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.