You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中能否修改ProgressBar颜色?如何自定义其加载样式?

可以实现,具体操作如下

你需要通过自定义indeterminateDrawable替换默认的ProgressBar样式,实现类似目标图的渐变环形加载效果,步骤和代码示例如下:

1. 创建自定义加载动画Drawable文件

在res/drawable目录下创建两个文件:

(1)环形渐变图形文件 progress_ring.xml

该文件定义环形的外观与渐变颜色:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:thickness="4dp" <!-- 环形粗细 -->
    android:useLevel="false"> <!-- 必须设为false才能正常显示环形 -->

    <!-- 环形渐变配色,可按需调整 -->
    <gradient
        android:type="sweep"
        android:startColor="#4CAF50"
        android:centerColor="#2196F3"
        android:endColor="#FF9800"
        android:angle="0" />
</shape>

(2)旋转动画文件 custom_progress_bar.xml

该文件让环形图形持续旋转:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/progress_ring"
    android:pivotX="50%" <!-- 旋转中心点X坐标 -->
    android:pivotY="50%" <!-- 旋转中心点Y坐标 -->
    android:duration="1200" /> <!-- 旋转一圈的时长,单位毫秒 -->

2. 修改ProgressBar布局代码

在布局文件中,给ProgressBar指定自定义的indeterminateDrawable,并调整尺寸:

<ProgressBar
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:indeterminate="true"
    android:indeterminateDrawable="@drawable/custom_progress_bar" />

自定义调整说明

  • 修改环形粗细:调整progress_ring.xml中的android:thickness属性值
  • 修改渐变颜色:替换gradient标签内的startColor、centerColor、endColor
  • 调整旋转速度:修改custom_progress_bar.xml中的android:duration值,数值越小旋转越快

内容的提问来源于stack exchange,提问作者Dinux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:42