如何修改所有ProgressBar?

时间:2018-04-28 21:36:49

标签: java android

我可以修改ProgessBar小部件的高度,宽度和外部颜色。但这似乎并没有影响到酒吧的内部。进展的红线。有没有办法修改它?或者我是否需要为此创建自定义小部件?

谢谢

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以在xml中使用android:indeterminateTint="@color/green"

您还可以尝试setIndeterminateDrawable(drawable)setIndeterminateTintList()(我没有检查此解决方案)

答案 1 :(得分:0)

您可以增加进度指示器的高度,可以通过在layout.xml中为ProgressBar添加以下参数来实现:

android:scaleY="5"

<ProgressBar
        android:id="@+id/progressBar"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleY="5"
         />

如果要减少指标周围的填充,请按如下所示修改layout_height属性:

 <ProgressBar
            android:id="@+id/progressBar"
            style="@style/Widget.AppCompat.ProgressBar.Horizontal"
            android:layout_width="match_parent"
            android:layout_height="5dp" 
             />

您可以在早于Lollipop的版本上使用以下内容来更改指标的颜色:

progressBar.getProgressDrawable().setColorFilter(
    Color.RED, android.graphics.PorterDuff.Mode.SRC_IN);

对于Lollipop及以上版本,请使用以下内容:

progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));

您可以参考此SO获取progressBar颜色