2010-04-29 9 views

Répondre

24

Si votre barre de progression est définie dans la mise en page XML, il semble que vous définissez sa hauteur comme ceci:

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

Cependant, je fais juste un devinez à partir de this article.

+2

Qu'en est-il API> 11 où il est automatiquement ajouté à la barre d'action? – Taranfx

16

L'astuce consiste à faire en sorte que votre ProgressBar utilise le style "old", no halo. Sinon, il utilisera une image de 9 patchs comme dessinable et vous ne pourrez pas modifier la hauteur à moins de manipuler l'image. Voici donc ce que je l'ai fait:

la barre de progression:

<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" /> 

le drawable de cours (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

Quel est l'élément racine pour le dessinable de progrès censé être? EDIT: clocksmith

16

Vous devez remplacer

style=”?android:attr/progressBarStyleHorizontal” 

à

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

et layout_height travaillera

android:layout_height="50dp" 
+0

A travaillé comme un charme! Merci –

+1

Comment ajouter des attributs comme la couleur ?! –

+0

Vous pouvez définir la couleur de la progression et de l'arrière-plan de progression avec "android: progressTint" et "android: progressBackgroundTint" dans votre XML SeekBar. – Luke

1

peut utiliser ce code:

mProgressBar.setScaleY(3f); 

Ou utiliser un style personnalisé

valeurs-> 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> 

Puis, en votre ProgressBar ajouter:

style="@style/tallerBarStyle" 
Questions connexes