Circle ProgressBar Android更改厚度等

时间:2018-11-05 23:49:42

标签: android android-layout android-xml android-progressbar

我正在使用Android的“普通”圆圈ProgressBar,如下所示:

rogr

因此,我想做的就是更改此ProgressBar的颜色,厚度和拐角(带有圆角半径)。

我已经找到了一些执行此操作的示例,但是它仅适用于水平ProgressBar,但我想保留此原始ProgressBar。

非常感谢您!

1 个答案:

答案 0 :(得分:3)

进度条本质上是rotate动画可绘制的。这是我们使用的颜色更薄的东西,具有不同的颜色渐变。您可以看到thickness用于宽度以及startend颜色的使用。

根据自己的喜好进行调整:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="720" >

  <shape
      android:shape="ring"
      android:thickness="@dimen/progress_circle_thickness"
      android:useLevel="false" >

    <gradient
        android:angle="0"
        android:endColor="@color/progress_circle"
        android:startColor="@android:color/transparent"
        android:type="sweep"
        android:useLevel="false" />
  </shape>
</rotate>

并在您的布局中使用以下内容:

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:indeterminateDrawable="@drawable/progress_circle"/>