13

Dodałem pasek postępu do mojej działalności za pomocą następującego kodu:Jak zmienić kolor paska postępu w Androidzie - (próbowałem w jedną stronę, a to nie działa)

<LinearLayout 
    android:id="@+id/linlaHeaderProgress" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:visibility="gone" > 

    <ProgressBar 
     android:id="@+id/pbHeaderProgress" 
     android:indeterminateOnly="true" 
     android:keepScreenOn="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
    </ProgressBar> 
</LinearLayout> 

Następnie Nazywam to:

progressbar = (LinearLayout) findViewById(R.id.linlaHeaderProgress); 
progressbar.setVisibility(View.VISIBLE); 

Wyświetlany jest pasek postępu i chcę zmienić jego kolor. Domyślnie pasek postępu jest wyświetlany w kolorze szarym. Oto, co starałem się zmienić kolor:

stworzyłem plik xml w folderze kanału alfa i nazwał ją jako activityindicator.xml zawartość tego xml są:

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

    <item android:id="@android:id/secondaryProgress"> 


     <color android:color="#f58233" /> 
    </item> 
    <item android:id="@android:id/progress"> 

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

</layer-list> 

I zmienił plik układu jako:

Oto, co próbowałem, ale kolor się nie zmienia. Czy ktoś może mi powiedzieć, co robię źle?

Używam wersji Lollipop.

Odpowiedz

52

Jeśli chcesz tylko zmienić kolor, dodać filtr kolorów na pasku postępu prac:

pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.RED, Mode.MULTIPLY); 

parametr mode, odnosi się do wartości PorterDuff.Mode - dostępnych here.

+1

daje swobodę wyboru colors.xml także progressBar.getProgressDrawable() setColorFilter (ContextCompat.getColor (getActivity(), R.color.product_status_color), PorterDuff.Mode.MULTIPLY) –

+1

Chciałem ci se Color.WHITE i ta linia nie działa. Musiałem zmienić tryb portierów na SRC_ATOP –

+1

Ta metoda zmienia kolor wszystkich pasków postępu w aplikacji –

8

Właśnie znalazłem sposób. I nawet nie trzeba oddzielnego pliku xml, aby zmienić kolor jak pasek postępu jest typu „nieokreślony: true”

użyłem następujących czynności, aby zmienić kolor mojego paska postępu:

pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.parseColor("#C0D000"), android.graphics.PorterDuff.Mode.SRC_ATOP); 

można uzyskać różne kody kolorów hex stąd. http://www.nthelp.com/colorcodes.htm lub http://www.color-hex.com/

Powiązane problemy