6

使用 library来实现,除了在设备上Ripple Effect它工作得很好。Android M

在 Android M设备上得到IllegalStateException说恢复中的下溢 - 恢复多于保存

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)
4

1 回答 1

5

这似乎是 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" }
        }
于 2016-03-01T04:53:11.497 回答