Android 圆形进度条-跟360进度类似-时钟刻度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 圆形进度条-跟360进度类似-时钟刻度相关的知识,希望对你有一定的参考价值。

参考技术A 话不多说 先上图

实现原理:

1、先画出中心进度问题

2、圆形进度灰色背景、圆形进度值带光晕

3、时钟刻度

github: https://github.com/hyyz3293/circlegearview.git

圆形进度条:简单实现倒计时圆形进度条

  • 上一个4秒的效果图:

  • 添加依赖

   implementation 'com.dinuscxj:circleprogressbar:1.3.6'
  • 布局完整代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.dinuscxj.progressbar.CircleProgressBar
        android:id="@+id/cpb"
        android:layout_width="80dp"
        android:layout_height="80dp"
        app:progress_stroke_cap="round"
        app:progress_stroke_width="5dp"
        app:progress_style="solid_line"
        app:progress_start_color="#00391F"
        app:progress_end_color="#00391F"
        android:layout_centerInParent="true"
        />

</RelativeLayout>
  • MainActivity.java完整代码:
public class MainActivity extends AppCompatActivity {
    CircleProgressBar cpb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        cpb = findViewById(R.id.cpb);
        cpb.setProgressFormatter(null);
        simulateProgress();

    }

    private void simulateProgress() {
        ValueAnimator animator = ValueAnimator.ofInt(0, 100);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                int progress = (int) animation.getAnimatedValue();
                cpb.setProgress(progress);
            }
        });
        animator.setRepeatCount(ValueAnimator.INFINITE);
        Interpolator linearInterpolator = new LinearInterpolator(); //匀速
        animator.setInterpolator(linearInterpolator);

        animator.setDuration(4 * 1000);
        animator.start();
    }
}

以上是关于Android 圆形进度条-跟360进度类似-时钟刻度的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中创建一个在其上旋转的圆形进度条?

Android 圆形进度条控件

android 怎么自定义绘制如下图中这种进度条

Android界面设计,下面图的那个圆形进度条怎么设计??

delphi xe android 更改ProgressBar1进度条颜色

带圆角的 Android 圆形进度条