2010-04-29 5 views

Antwort

24

Wenn Ihr Fortschrittsbalken in der XML-Layout definiert ist, es sieht aus wie Sie seine Höhe definieren wie folgt:

<ProgressBar 
android:minHeight="20dip" 
android:maxHeight="20dip"/> 

Allerdings bin ich nur eine machen Raten Sie von this article.

+2

Wie über API> 11, wo es automatisch zu Actionbar hinzugefügt? – Taranfx

16

Der Trick ist, dass Ihre ProgressBar den "alten", keinen Halo-Stil verwendet. Andernfalls wird ein 9-Patch-Bild als Fortschrittszeichnung verwendet und Sie können die Höhe nur ändern, wenn Sie das Bild bearbeiten. Also hier ist das, was ich getan habe:

die progressbar:

<ProgressBar 
    android:id="@+id/my_progressbar" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="10dp" 
    android:progressDrawable="@drawable/horizontal_progress_drawable_red" /> 

der Fortschritt ziehbar (horizontal_progress_drawable_red.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> 
      <solid android:color="#808080"/> 
     </shape> 
    </item> 

    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <solid android:color="#80ff0000"/> 
      </shape> 
     </clip> 
    </item> 

    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <solid android:color="#ff0000"/> 
      </shape> 
     </clip> 
    </item> 

</layer-list> 
+1

Was ist das Wurzelelement für den Fortschritt, der gezeichnet werden soll? EDIT: clocksmith

16

Sie benötigen

style=”?android:attr/progressBarStyleHorizontal” 

zu

ersetzen
style="@android:style/Widget.ProgressBar.Horizontal" 

und layout_height arbeitet

android:layout_height="50dp" 
+0

Arbeitete wie ein Charme! Danke –

+1

Wie Attribute wie Farbe hinzufügen ?! –

+0

Sie können die Farbe des Fortschritts und des Fortschrittshintergrundes mit "android: progressTint" und "android: progressBackgroundTint" in Ihrem SeekBar XML einstellen. – Luke

1

diesen Code verwenden:

mProgressBar.setScaleY(3f); 

Oder verwenden, um benutzerdefinierten Stil

Werte-> styles.xml

<style name="tallerBarStyle" parent="@android:style/Widget.SeekBar"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:minHeight">8dip</item> 
    <item name="android:maxHeight">20dip</item> 
</style> 

dann in Ihre ProgressBar hinzufügen:

style="@style/tallerBarStyle"