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.