ProgressBar厚度

时间:2015-06-10 09:52:45

标签: android

请看下面的图片:

  • enter image description here
  • enter image description here
  • enter image description here

在每张图片ProgressBar上都有与另一张ProgressBar不同的风格。

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

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

  

注意:请勿发布假设创建自定义drawable的答案。 图书馆允许。

2 个答案:

答案 0 :(得分:3)

无法说明您是否可以处理这些默认进度条,但您可以尝试使用替代设计自己的进度图像并在此处执行动画,

enter image description here

现在将其添加到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>

并添加此进度条属性

android:indeterminateDrawable="@drawable/customprogress" 

答案 1 :(得分:2)

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

https://github.com/castorflex/SmoothProgressBar

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

你可以在这里给出任何笔画宽度。