25

ho il seguente schema:certi stili ProgressBar non mostrato sul Nexus 5 Android 5.0.1

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

ho un Nexus 5 in esecuzione Android 5.0.1 che non visualizza il ProgressBar, ovviamente, a causa dello stile. Quando ho creato lo stile ad esempio per

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

o

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

è mostrato. Ho un Nexus 5 identico anche in esecuzione Android 5.0.1 che visualizza tutti i ProgressBar s fine. Abilitando l'opzione 'Disegna i bordi del layout' nelle opzioni degli sviluppatori, mostra che lo ProgressBar è incluso nel layout, semplicemente non viene mostrato.

Questo sembra molto strano, qualche idea su cosa potrebbe succedere qui?

enter image description here

+1

ho un nexus 4 con Android 5.0.1 funzionante e funziona bene ... forse il tuo ota aggiornamento è bloccato? prova a riflettere il dispositivo usando le immagini di fabbrica? – eriuzo

+0

Quindi quali stili NON funzionano? –

+3

Ci sono delle correzioni per questo? Incredibilmente frustrante ... – Chicken

risposta

28

ho avuto lo stesso problema, ma era perché il telefono sviluppatore ha animazioni scale a 0 (tutti e 3).

Abilita tutte le animazioni sul dispositivo e forse sarai in grado di vedere la barra di avanzamento, quindi per le persone normali che avranno le animazioni abilitate la barra di avanzamento apparirà bene.

+1

Grazie .. Hai dimenticato di ripristinare le animazioni in "Opzioni sviluppatore" dopo i test dell'espresso :) – sha

+1

finalmente risolto! Grazie mille – Lisitso

+1

Ho anche dovuto chiudere e riavviare l'app, prima che la barra di avanzamento iniziasse a comparire. – friederbluemle

1

Impostando lo stile al seguente invece si dovrebbe essere in grado di eseguire il debug di questo problema

style="?android:attr/progressBarStyleLarge" 
+1

Buona idea. Stranamente, anche questo non viene visualizzato. – FWeigl

+0

Immagino che questo significhi che non si tratta del tema –

+2

Sto avendo esattamente lo stesso problema - usando style = "? Android: attr/progressBarStyleLarge va bene su 5.0.1 Nexus 5 ma è invisibile sul mio 2012 Nexus 7 5.0.2 – Rhisiart

5

Nel mio caso, sembra come se il problema è con costruire 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 

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

E 'proba bly anche in relazione con https://code.google.com/p/android/issues/detail?id=77865

Non potendo aspettare una correzione, quello che ho deciso di fare è forzare la barra di avanzamento di Holo da utilizzare nel mio tema Materiale. Questo è quanto è stato raggiunto - può essere di qualche utilità per voi nel frattempo:

<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://stackoverflow.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" /> 
Problemi correlati