ProgressBar厚度

Ser*_*kov 6 android

看下面的图片:

  • 在此输入图像描述
  • 在此输入图像描述
  • 在此输入图像描述

每个图像ProgressBar都有不同的风格,与另一个ProgressBar的风格不同.

我想知道,我如何在我的应用程序中指定进度条样式/瘦.

我看一下,android.R.attr.progressBarStyleSmall但它只是改变了进度条的大小,而不是旋转圆的厚度.

注意:不要发布假设创建自定义drawable的答案.图书馆允许.

Moi*_*han 5

你可以试试这个 git 库,它会帮助你并提供更多的定制......

https://github.com/castorflex/SmoothProgressBar

mProgressBar.setIndeterminateDrawable(new SmoothProgressDrawable.Builder(context)
    .strokeWidth(8f)            //You should use Resources#getDimension
    .build());
Run Code Online (Sandbox Code Playgroud)

您可以在此处指定任何笔划宽度。


Abh*_*hek 5

不能说您是否可以处理这些默认进度条,但您可以尝试使用替代设计您自己的进度图像并在其上执行动画,如下所示,

在此输入图像描述

现在将其添加到 res/drawable/customprogress.xml 中

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360" >
    <shape
        android:shape="oval"
        android:useLevel="false" >
        <size
            android:height="48dip"
            android:width="48dip" />
        <gradient
            android:centerColor="#ff000000"
            android:centerY="0.50"
            android:endColor="#ff00ff00"
            android:startColor="#ff000000"
            android:type="sweep"
            android:useLevel="false" />
    </shape>
</rotate>
Run Code Online (Sandbox Code Playgroud)

并添加此进度条属性

android:indeterminateDrawable="@drawable/customprogress" 
Run Code Online (Sandbox Code Playgroud)