该应用程序在kitkat模拟器中运行良好,但在kitkat设备上运行不正常。它也可以在棒棒糖设备上运行,但不能在kitkat设备上运行

时间:2017-09-09 17:18:52

标签: android android-5.0-lollipop android-4.4-kitkat

Logcat中的一些消息是:

  1. 无法找到从方法android.graphics.drawable.RippleDrawable引用的课程android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering

  2. tid 22118: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)

  3. 该应用程序在kitkat仿真器中运行良好,但在kikat设备上运行不正常。它也可以在棒棒糖设备上运行,但不能在kitkat设备上运行。

1 个答案:

答案 0 :(得分:1)

API中引入了

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名称并将其填入。