2016-06-30 22 views
2

Hey Leute, ich habe diese Fortschrittsbalken für meine App erstellt, aber ich kann nicht diese gelbe orangy Farbe bekommen, die sich zu etwas wie Rot oder Blau zu ändern scheint.Wie ändere ich Fortschrittsbalken?

<ProgressBar 
     android:id="@+id/progress_bar" 
     style="@android:style/Widget.ProgressBar.Horizontal" 
     android:layout_width="250sp" 
     android:layout_height="wrap_content" 
     android:progress="2" 
     android:layout_marginTop="82dp" 
     android:max="3" 
     android:indeterminate="false" 
     android:layout_below="@+id/imageView" 
     android:layout_centerHorizontal="true" /> 

oben ist mein Fortschrittsbalken xml code.

Irgendwelche Hilfe Jungs? :)

Vielen Dank im Voraus! :)

+1

Mögliche Duplikat [Android Änderung Horizontaler Fortschrittsbalken color] (http://stackoverflow.com/questions/5745814/android-change-horizontal-progress-bar-color) – earthw0rmjim

Antwort

3

Erstellen Sie eine neue XML-Datei in Ihrem Ordner ziehbar so etwas wie custom_progress_bar.xml und fügen Sie diese dort genannt:

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

<!-- Define the background properties like color etc --> 

<item android:id="@android:id/background"> 
    <clip> 
     <shape> 
      <solid android:color="#000000" /> 
     </shape> 
    </clip> 
</item> 
<!-- Define the progress properties like start color, end color etc --> 
<item android:id="@android:id/progress"> 
    <clip> 
     <shape> 
      <solid android:color="#FFFFFF" /> 
     </shape> 
    </clip> 
</item> 

Und in Ihrem <ProgressBar> dieses Attribut hinzufügen:

android:progressDrawable="@drawable/custom_progress_bar" 

Ändern Sie die 2 Farben nach Ihren eigenen Wünschen. Ich gebe #FFFFFF und #000000, die weiß und schwarz sind.

+0

Sehr geehrte Vuko, Ihre Methode hat super funktioniert! Danke für Ihre Hilfe! :) – AmateurProgrammer

+0

Ich möchte das gleiche programmatisch machen. In meinem Fall möchte ich die Fortschrittsfarbe aus Code mit Hexadezimalwert ändern, ohne die Hintergrundfarbe zu ändern. Brauche Hilfe. –

+0

Was mir in den Sinn kommt, ist, dass Sie dasselbe Zeichen mit einer anderen Farbe erstellen können und den Fortschritt, der aus dem Code gezeichnet werden kann, ersetzen. Wenn Sie die Farbe dynamisch wählen müssen (es ist nicht immer die gleiche), dann ist es schwieriger. Wenn ich an eine Lösung denke, werde ich Sie wissen lassen: D @NavjotBedi – Vucko

0

Versuchen Sie dieses und fügen Sie eigene Farb

Progressbar mBar= (ProgressBar) findViewById(R.id.spinner); 
mBar.getIndeterminateDrawable().setColorFilter(Color.parseColor("#80DAEB"), 
      android.graphics.PorterDuff.Mode.MULTIPLY); 

this helps

5

Wenn Android-Version 5.0 ist und über die Sie gerade

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

Für niedrigere Version, die ich diese Einstellung vornehmen müssen verwenden

mProgressBar.getIndeterminateDrawable().setColorFilter(getResources() 
.getColor(R.color.primary_color),PorterDuff.Mode.SRC_IN); 
3

Gehen Sie zu Ihrer styles.xml und ändern Sie den colorAccent Wert aus Ihrem Basisanwendungsthema, z.
<item name="colorAccent">{COLOR}</item>
Ich verwende MinSdkVersion 15 und es funktionierte für mich.

0

Wenn Sie die ProgressBar Farbe ändern möchten, nicht ziehbar, können Sie diesen Stil als Thema für die ProgressBar verwenden

<style name="ProgressBar" parent="Widget.AppCompat.ProgressBar"> 
    <item name="colorAccent">@color/white_primary</item> 
</style>