android android-layout android-5.0-lollipop android-progressbar

Ciertos estilos de ProgressBar no se muestran en Nexus 5 Android 5.0.1



android-layout android-5.0-lollipop (3)

Tengo el siguiente diseño:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar style="@android:style/Widget.Material.ProgressBar.Large" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>

Tengo un Nexus 5 con Android 5.0.1 que no muestra la ProgressBar , obviamente debido al estilo. Cuando configuro el estilo por ejemplo para

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

o

style="@android:style/Widget.Holo.ProgressBar.Large"

se muestra Tengo un Nexus 5 idéntico que también funciona con Android 5.0.1 que muestra todas las multas de ProgressBar . Al habilitar la opción ''dibujar bordes de diseño'' en las opciones de los desarrolladores, muestra que ProgressBar está incluido en el diseño, simplemente no se muestra.

Esto parece muy extraño, ¿alguna idea de lo que podría estar pasando aquí?


Al configurar el estilo a lo siguiente, debería poder depurar este problema

style="?android:attr/progressBarStyleLarge"


En mi caso, parece que el problema es con la compilación LRX22G:

Nexus 7 using Build LRX22G (android-5.0.2_r1) - progress bar not shown Nexus 5 using Build LRX22C (android-5.0.1_r1) - progress bar shown

Consulte https://source.android.com/source/build-numbers.html

Probablemente también esté relacionado con https://code.google.com/p/android/issues/detail?id=77865

Al no poder esperar una solución, lo que he decidido hacer es forzar el uso de la barra de progreso de Holo en mi tema Material. Así es como se logró, mientras tanto puede serle de utilidad:

<style name="AppBaseTheme" parent="@android:style/Theme.Material.Light.DarkActionBar"> <!-- Build LRX22G (5.0.2 Nexus 7) fails to display progress bar so we''ll use Holo instead of Material --> <!-- http://.com/questions/27567235/certain-progressbar-styles-not-shown-on-nexus-5-android-5-0-1 --> <item name="android:progressBarStyleSmall">@style/MaterialProgressBarFix.Small</item> <item name="android:progressBarStyle">@style/MaterialProgressBarFix</item> <item name="android:progressBarStyleLarge">@style/MaterialProgressBarFix.Large</item> </style> <style name="MaterialProgressBarFix.Small" parent="@android:style/Widget.Holo.ProgressBar.Small" /> <style name="MaterialProgressBarFix" parent="@android:style/Widget.Holo.ProgressBar" /> <style name="MaterialProgressBarFix.Large" parent="@android:style/Widget.Holo.ProgressBar.Large" />


Estaba teniendo el mismo problema pero era porque el teléfono del desarrollador tiene escalas de animaciones a 0 (las 3).

Habilite todas las animaciones en el dispositivo y tal vez pueda ver la barra de progreso, por lo que para las personas normales que tengan las animaciones habilitadas, la barra de progreso aparecerá bien.