How to change default color of progress bar?

后端 未结 14 1884
粉色の甜心
粉色の甜心 2020-12-02 15:53

I am using a circular ProgressBar in my Activty.My Problem is this it is not visible properly on my page because my page\'s BG color is same as ProgressBar .So

相关标签:
14条回答
  • 2020-12-02 16:03

    Go to the declaration of the progress bar in your .xml file :


    And paste this line of code :

    android:indeterminateTint="@color/white"
    

    The example above allows you to change the color of your progress bar to white. Now it's up to you to adapt it to the color you want.

    Only for Android API >= 21

    0 讨论(0)
  • 2020-12-02 16:05

    Here is some explanation. For changing background of a Indeterminate ProgressBar, you need a rotating ring because it rotates. In the answer of @Chirag, he has defined a rotating ring and applied it to the background of ProgressBar. If you have a Horizontal ProgressBar then you need a rectangle.

    PS: I have not tried with other shapes.

    0 讨论(0)
  • 2020-12-02 16:05

    I'm using android 2.3.1 version. I create a xml file called progressbar and call it in the layout progress bar tag android:progressDrawable="@drawable/progressbar"

    <item android:id="@+id/progress">
        <clip>
        <shape>
            <gradient android:startColor="@color/textColor"
                android:centerColor="@color/textColor"
                android:endColor="@color/textColor"
                android:gradientRadius="20dp"
                >
            </gradient>
        </shape>
        </clip>
    </item>
    

    0 讨论(0)
  • 2020-12-02 16:06

    Please make one xml file name progress.xml and put it in res/xml folder and write the below code in that xml file.

     <?xml version="1.0" encoding="utf-8"?>
    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
        android:toDegrees="360">
        <shape android:shape="ring" android:innerRadiusRatio="3"
            android:thicknessRatio="8" android:useLevel="false">
    
            <size android:width="76dip" android:height="76dip" />
            <gradient android:type="sweep" android:useLevel="false"
                android:startColor="#447a29" 
                android:endColor="#447a29"
                android:angle="0"
                 />
        </shape>
    </rotate> 
    

    after creating this xml file set your progressbars background as this xml ..

    Like

    <ProgressBar
      android:id="@+id/ProgressBar01" 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:background = "@xml/progress">
    
    0 讨论(0)
  • 2020-12-02 16:06

    for me, these two lines had to be there for it to work and change the color:

    android:indeterminateTint="@color/yourColor"
    android:indeterminateTintMode="src_in"
    

    PS: but its only available from android 21

    0 讨论(0)
  • 2020-12-02 16:06

    create progress drawable file

    <?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" />
            <solid android:color="@color/colorWhite" />
        </shape>
    </item>
    
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />
                <solid android:color="@color/colorPrimary" />
            </shape>
        </clip>
    </item>
    
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners
                    android:radius="5dip" />
                <solid android:color="@color/colorPrimary" />
            </shape>
        </clip>
    </item>
    

    and set android:progressDrawable="@drawable/app_progressbar_back"

    like this

    <ProgressBar
                    android:id="@+id/dialogProgressView"
                    style="?android:attr/progressBarStyleHorizontal"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:progressDrawable="@drawable/app_progressbar_back"
                    android:progress="50"
                    android:layout_marginTop="@dimen/margin_20" />
    
    0 讨论(0)
提交回复
热议问题