Android(自定义|Android:自定义 圆形ProgressBar 和 水平ProgressBar 的颜色)


目录

  • 一、效果图
  • 二、代码实现
    • 1. 圆形进度条颜色设置方法1
    • 2. 圆形进度条颜色设置方法2
    • 3. 水平进度条颜色设置方法1
    • 4. 水平进度条颜色设置方法2
  • 三、效果图完整代码:
    • 布局完整代码:
    • 资源文件bg_horizontal_progress.xml:
    • MainActivity完整代码:

一、效果图 Android(自定义|Android:自定义 圆形ProgressBar 和 水平ProgressBar 的颜色)
文章图片

二、代码实现 1. 圆形进度条颜色设置方法1 xml中通过indeterminateTint设置圆形进度条颜色,此方法不兼容Android21以下的版本,若需要兼容Android21以下的版本,使用方法2即可

2. 圆形进度条颜色设置方法2 代码中设置:
ProgressBar circleProgress = findViewById(R.id.circle_progress); circleProgress.getIndeterminateDrawable().setColorFilter(getResources().getColor(R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP);

3. 水平进度条颜色设置方法1 xml中通过backgroundTint、progressTint、secondaryProgressTint设置,此方法不兼容Android21以下的版本,若需要兼容Android21以下的版本,使用方法2即可

4. 水平进度条颜色设置方法2 使用progressDrawable设置,新建bg_horizontal_progress.xml,放在drawable文件夹下:
> android:color="@android:color/darker_gray" /> > android:color="#803F51B5" /> > android:color="@color/colorPrimaryDark" />

如果只需要一级进度条颜色,把二级进度条去掉即可,即:
> android:color="@android:color/darker_gray" /> > android:color="@color/colorPrimaryDark" />

【Android(自定义|Android:自定义 圆形ProgressBar 和 水平ProgressBar 的颜色)】在布局中使用bg_horizontal_progress.xml:

三、效果图完整代码: 布局完整代码:

资源文件bg_horizontal_progress.xml:
> android:color="@android:color/darker_gray" /> > android:color="#803F51B5" /> > android:color="@color/colorPrimaryDark" />

MainActivity完整代码:
public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ProgressBar circleProgress = findViewById(R.id.circle_progress); circleProgress.getIndeterminateDrawable().setColorFilter(getResources().getColor(R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP); } }

    推荐阅读