android java 代码动态设置ProgressBar 颜色

发布时间:2024年01月10日

?

       LayerDrawable layerDrawable = (LayerDrawable) mContext.getResources().getDrawable(R.drawable.pro_all);
        layerDrawable.findDrawableByLayerId(android.R.id.progress).mutate().setTintList(ColorStateList.valueOf(color));
        bar.setProgressDrawable(layerDrawable);
    

<ProgressBar
    android:id="@+id/bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxHeight="5dp"
    android:minHeight="5dp"
    android:layout_marginTop="3dp"
    android:progress="0"
    style="@style/Widget.AppCompat.ProgressBar.Horizontal"/>




<?xml version="1.0" encoding="utf-8"?>


<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!--背景-->
        <item android:id="@android:id/background">
            <shape>
                <corners android:radius="20dp"/>
                <solid android:color="#D8D8D8"/>

            </shape>

        </item>

    <!--第二层进度颜色  PS:他在prgress进度条颜色图层之下-->
        <item android:id="@android:id/secondaryProgress">
            <clip>
            <shape>
                <corners android:radius="20dp"/>
                <solid android:color="#ff0000"/>

            </shape>
        </clip>
        </item>

    <!--进度颜色  progress颜色  PS:他在secondarprgress进度条颜色图层之上-->
        <!-- 设置进度条颜色 -->
        <item android:id="@android:id/progress">
            <clip>
                <shape>
                    <gradient
                        android:startColor="#009688"
                        android:endColor="#009688"/>
                    <!-- 设置圆角 -->
                    <corners android:radius="20dp"/>

                </shape>

            </clip>
        </item>

</layer-list>




文章来源:https://blog.csdn.net/ink_s/article/details/135506888
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。