2010-04-29 7 views

Respuesta

24

Si su barra de progreso se define en el esquema XML, parece que se define su altura, así:

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

Sin embargo sólo estoy haciendo una adivinar desde this article.

+2

¿Qué hay de API> 11 donde se agrega automáticamente a la barra de acciones? – Taranfx

16

El truco está en que su ProgressBar use el estilo "antiguo", sin halo. De lo contrario, utilizará una imagen de 9 parches como un dibujo progresivo y no podrá cambiar la altura a menos que manipule la imagen. Así que aquí es lo que hice:

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

el progreso estirable (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

¿Cuál es el elemento raíz del supuesto de progreso que se supone que es? EDITAR: clocksmith

16

Es necesario sustituir

style=”?android:attr/progressBarStyleHorizontal” 

a

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

y layout_height funcionará

android:layout_height="50dp" 
+0

¡Funcionó como un encanto! Gracias –

+1

¿Cómo agregar atributos como el color? –

+0

Puede establecer el color del progreso y el fondo del progreso con "android: progressTint" y "android: progressBackgroundTint" en su SeekBar XML. – Luke

1

puede utilizar este código:

mProgressBar.setScaleY(3f); 

O utilice estilo personalizado

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

Luego, en su ProgressBar agregar:

style="@style/tallerBarStyle" 
Cuestiones relacionadas