IllegalStateException с использованием библиотеки эффектов Ripple на устройствах Android M

Используя это library реализовать Ripple Effect и это работает просто отлично, кроме как на Android M устройства.

На Android M Устройства попадают IllegalStateException что говорит Underflow при восстановлении - больше восстанавливает, чем сохраняет

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)

1 ответ

Похоже, ошибка в самой библиотеке на Android 6.0, возможные способы избежать ошибки

1) Используйте библиотеку com.balysv:material-ripple:1.0.2, она кажется более стабильной

2) Или вы можете использовать отдельную раскладку для 21+, чтобы Android M сам справился с этой проблемой. Просто используйте подходящий держатель пульсаций для макетов и представлений

3) Или вы можете изменить сам исходный код библиотеки в соответствии с этим предложением

4) Фиксированная версия этой библиотеки доступна @ git, и вы можете использовать ее в своем Gradle, как

compile 'com.github.Hitta:RippleEffect:82cf00e551'
repositories {
            ...
            maven { url "https://jitpack.io" }
        }
Другие вопросы по тегам