Как создать круговой ProgressBar в android?

Вы знаете, как создать круговой индикатор выполнения, например, приложение Google Fit? Как изображение ниже.

введите описание изображения здесь

    Вы можете попробовать эту библиотеку Circle Progress

    введите описание изображения здесь

    введите описание изображения здесь

    NB: всегда используйте ту же ширину и высоту для просмотра прогресса

    DonutProgress:

     

    CircleProgress:

       

    ArcProgress:

      

    Это легко создать сами

    В вашем макете включается следующий ProgressBar с определенным рисунком ( обратите внимание, что вместо этого вы должны получить ширину от размеров ). Здесь важно максимальное значение:

      

    Теперь создайте выделение в своих ресурсах со следующей формой. Играйте с радиусом (вы можете использовать innerRadius вместо innerRadiusRatio ) и значениями толщины.

    круговой (уровень до уровня Lollipop OR API <21)

         

    круговой (> = Lollipop OR API Level> = 21)

         

    useLevel является «ложным» по умолчанию в API Level 21 (Lollipop).

    Начать анимацию

    Далее в вашем коде используйте ObjectAnimator для анимации области выполнения ProgessBar вашего макета.

     ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.progressBar); ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 0, 500); // see this max value coming back here, we animate towards that value animation.setDuration(5000); // in milliseconds animation.setInterpolator(new DecelerateInterpolator()); animation.start(); 

    Остановить анимацию

     progressBar.clearAnimation(); 

    PS, в отличие от приведенных выше примеров, он дает гладкую анимацию.

    Давайте будем гением компьютера.