Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo configurar la altura de la barra de progreso de Android?

Mi activity_main.xml está por debajo, como se ve, la altura se establece 40 dip.

Y en MyEclipse, se ve como a continuación:

Introduzca aquí la descripción de la imagen

Pero cuando lo ejecuto en mi teléfono, se ve como a continuación:

Introduzca aquí la descripción de la imagen

Así que mi pregunta es ¿por qué la altura real de la barra de progreso no es la que he establecido? ¿Cómo aumentar la altura de la barra de progreso?

  • Dibujo del borde superior de una forma en Android
  • El diálogo del progreso tiene el fondo blanco en dispositivos del Lollipop,
  • ¿Podría ocultar la barra de progreso después de cargar la imagen en picasso?
  • Por qué Android Circle Progress Dialog Cómo se congela cuando un montón de datos Sincronización de servidor a DB local mediante Retrofit
  • Cambiar el estilo de ProgressDialog
  • ProgressBar en una ActionBar, como la aplicación de GMail con Refresh
  • Android: Barra de progreso de Semi Circle
  • Denotan progreso por el borde de Android
  • 7 Solutions collect form web for “¿Cómo configurar la altura de la barra de progreso de Android?”

    De este tutorial :

     <style name="CustomProgressBarHorizontal" parent="android:Widget.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/custom_progress_bar_horizontal</item> <item name="android:minHeight">10dip</item> <item name="android:maxHeight">20dip</item> </style> 

    A continuación, simplemente aplique el estilo a las barras de progreso o mejor , anule el estilo predeterminado de su tema para diseñar automáticamente todas las barras de progreso de su aplicación.

    La diferencia que está viendo en las capturas de pantalla es porque los teléfonos / emuladores están usando una versión de Android de diferencia (el último es el tema de ICS (Holo), la parte superior es el tema original).

    Supongo que la solución más simple sería:

     mProgressBar.setScaleY(3f); 

    Utilizar esta

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

    Como se menciona en otras respuestas, parece que está configurando el estilo de su barra de progreso para usar Holo.Light:

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

    Si esto está funcionando en su teléfono, es probablemente un dispositivo 3.0+. Sin embargo, su emulador parece que utiliza una barra de progreso "predeterminada".

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

    Tal vez cambió el estilo a la barra de progreso "predeterminado" entre crear las capturas de pantalla? Lamentablemente, los dispositivos 2.x no volverán automáticamente a la barra de progreso "predeterminada" si sus proyectos utilizan una barra de progreso Holo.Light. Sólo se bloqueará.

    Si realmente está utilizando la barra de progreso predeterminada, a continuación, establecer la altura máxima / min como se sugiere funcionará bien. Sin embargo, si está utilizando la barra Holo.Light (o Holo), entonces el ajuste de la altura máxima / mínima no funcionará. Aquí hay una salida de muestra desde la configuración de la altura máx / min a 25 y 100 dip:

    Max / min ajustado a 25 dip: Barra de progreso de 25 alturas de inmersión

    Max / min ajustado a 100 dip: Barra de progreso de 100 alturas de inmersión

    Puede ver que el subyacente dibujable (progress_primary_holo_light.9.png) no está escalando como era de esperar. La razón de esto es que el borde de 9 parches sólo está escalando los píxeles superior e inferior:

    9 parches

    El área horizontal bordeada por el borde negro único (flechas verdes) es la parte que se estira cuando Android necesita cambiar el tamaño del .png verticalmente. El área entre las dos flechas rojas no se estirará verticalmente.

    La mejor solución para arreglar esto es cambiar el .png de 9patch para estirar la barra y no el "área de lienzo" y luego crear una barra de progreso personalizado xml para usar estos 9patches. Similarmente descrito aquí: https://stackoverflow.com/a/18832349

    Aquí está mi implementación para un ProgressBar Holo.Light no indeterminante. Tendrás que añadir tus propios 9 parches para indeterminante y Holo ProgressBars. Idealmente, debería haber eliminado completamente el área de la lona. En su lugar, lo dejé, pero establecer el área de "barra" estirable. https://github.com/tir38/ScalingHoloProgressBar

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

    Valores-> estilos.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> 

    A continuación, en su ProgressBar añadir:

     style="@style/tallerBarStyle" 

    Android: scaleY = "8" en tu archivo xml

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.