Logcat中的一些消息是:
无法找到从方法android.graphics.drawable.RippleDrawable
引用的课程android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
tid 22118: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)
该应用程序在kitkat仿真器中运行良好,但在kikat设备上运行不正常。它也可以在棒棒糖设备上运行,但不能在kitkat设备上运行。
答案 0 :(得分:1)
RippleDrawable
,它不向后兼容,这意味着在Lollipop之前运行在Android上的设备无法RippleDrawable.
然而,某些库可以很好地模仿涟漪效应。请参阅此github项目:https://github.com/ozodrukh/RippleDrawable
另外,我建议您推荐Android开发人员https://developer.android.com/develop/index.html
如果您不想使用库,您可以随时检查设备版本并采取相应措施。
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){
// pre-lollipop
}else {
//after lollipop.
}
或者您可以为prelollipop和棒棒糖以上定义可绘制的可绘制的。
drawable-v21 is for lollipop and above lollipop.
drawable is for prelollipop.
根据Android版本使用相同的drawable名称并将其填入。