Circle ProgressBar Android更改厚度等

Tes*_*ter 3 android android-layout android-progressbar android-xml

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

罗格

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

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

非常感谢你!

Jef*_*man 5

进度条本质上是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>
Run Code Online (Sandbox Code Playgroud)

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

<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:indeterminateDrawable="@drawable/progress_circle"/>
Run Code Online (Sandbox Code Playgroud)

  • 您的答案会改变进度条的行为。作者很讲究保留原来的ProgressBar (2认同)