如何改变ProgressBar颜色?

Jac*_*ani 22 android progress

我想改变Horizontal ProgressBar颜色

我试过这个

如何更改无限期ProgressBar的颜色?

它不能正常运行蓝色

这是我的代码

<ProgressBar
                 android:id="@+id/mini_progress"
                 android:layout_marginLeft="10dip"
                 android:layout_marginRight="10dip"
                 style="?android:attr/progressBarStyleHorizontal"
                 android:layout_width="match_parent"
                 android:layout_height="20dip"
                 android:layout_gravity="center_horizontal"
                 android:indeterminate="false"
                 android:indeterminateBehavior="repeat"
                 android:indeterminateOnly="true"
                 android:visibility="gone"/>
Run Code Online (Sandbox Code Playgroud)

我怎么能把颜色变成粉红色?

Vis*_*ale 32

试试这个代码 -

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

                <solid android:color="#f58233" />
            </shape>
        </clip>

        <color android:color="#f58233" />
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

                <solid android:color="#f58233" />
            </shape>
        </clip>

        <color android:color="#f58233" />
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

进度条 -

<ProgressBar
            android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="200dp"
            android:layout_height="3dip"
            android:progressDrawable="@drawable/progress_bar" />
Run Code Online (Sandbox Code Playgroud)

根据需要更改颜色代码

  • 最初,进度条根本不可见.当我添加<item android:id ="@ android:id/background">时,它可见.我认为secondaryprogress不是bg! (2认同)

Piy*_*ush 20

使用类似于以下内容的东西创建一个新的drawable(在本例中为pinkprogress.xml):

<?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="5dip" />
      <gradient android:startColor="#F5A9F2"
                android:centerColor="#F5A9F2"
                android:centerY="0.75"
                android:endColor="#F5A9F2"
                android:angle="270" />
    </shape>
  </item>
  <item android:id="@android:id/secondaryProgress">
    <clip>
      <shape>
        <corners android:radius="5dip" />
        <gradient android:startColor="#80ffd300"
                  android:centerColor="#80ffb600"
                  android:centerY="0.75"
                  android:endColor="#a0ffcb00"
                  android:angle="270" />
      </shape>
    </clip>
  </item>
  <item android:id="@android:id/progress">
    <clip>
      <shape>
        <corners android:radius="5dip" />
        <gradient android:startColor="#33FF33"
                  android:endColor="#008000"
                  android:angle="270" />
      </shape>
    </clip>
  </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

并在xml文件中设置为progressbar:

 android:progressDrawable="@drawable/pinkprogress"
Run Code Online (Sandbox Code Playgroud)


arq*_*qam 14

我这样做是为了获得所需的颜色:

    android:indeterminate="true"
    android:indeterminateTintMode="src_atop"
    android:indeterminateTint="@color/myColor"
Run Code Online (Sandbox Code Playgroud)

适合我.(API 21或更高版本)


El.*_*El. 11

对我来说这很有效.

在此输入图像描述

<ProgressBar
            android:id="@+id/verify_progress"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_width="match_parent"
            android:layout_height="5dp"
            android:layout_below="@id/verify_phone"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="10dp"
            android:indeterminate="false"
            android:progressDrawable="@drawable/progress_bar" </ProgressBar>
Run Code Online (Sandbox Code Playgroud)

drawable/progress_bar -

  <?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="5dip" />
                <gradient
                    android:startColor="@color/Gray"
                    android:centerColor="@color/Gray"
                    android:endColor="@color/Gray"
                    />
            </shape>
        </item>


        <item
            android:id="@android:id/progress"
            >
            <clip>
                <shape>
                    <corners
                        android:radius="5dip" />
                    <gradient
                        android:startColor="@color/PrimaryColor"
                        android:endColor="@color/PrimaryColor" />
                </shape>
            </clip>
        </item>

    </layer-list>
Run Code Online (Sandbox Code Playgroud)