2016-02-19 20 views
6

Utilizzando thislibrary per implementare Ripple Effect e funziona bene, tranne su Android M dispositivi.IllegalStateException utilizzando Biblioteca Ripple Effect su Android M dispositivi

Su Android M Devices ottenere IllegalStateException che dice Underflow nel ripristinare - più ripristini di risparmiare

FATAL EXCEPTION: main 
Process: com.example.ripplethings, PID: 20119 
java.lang.IllegalStateException: Underflow in restore - more restores than saves 
at android.graphics.Canvas.native_restore(Native Method) 
at android.graphics.Canvas.restore(Canvas.java:540) 
at com.andexert.library.RippleView.draw(RippleView.java:166) 
+0

quella biblioteca non deve avere il supporto per i dispositivi M –

+2

Guardate pagina dei problemi https://github.com/traex/RippleEffect/issues/76 – fillobotto

+0

la questione è apparentemente nella biblioteca stessa. questa domanda sembra fuori tema. – njzk2

risposta

4

Sembra un bug nella libreria stessa su Android 6.0, Possibili modi per evitare il bug è

1) utilizzare il com.balysv: materiale-ripple: 1.0.2 biblioteca sembra più stabile

2) Oppure si può usare pla ce layout separato per 21+ lascia che l'Android M gestisca il ripple stesso. Basta usare il titolare ripple corretta per i layout e le viste

3) In alternativa, è possibile modificare il codice sorgente libreria stessa come da this suggerimento

4) Una versione fissa di questa libreria è disponibile @ git e si può usare nel vostro Gradle come

compile 'com.github.Hitta:RippleEffect:82cf00e551' 
repositories { 
      ... 
      maven { url "https://jitpack.io" } 
     }