【发布时间】:2017-02-23 18:05:46
【问题描述】:
首先我的目标 API 是 22 (Android L)。一切正常,直到我将目标 API 降低到 19 以支持 Android 4.4 (Kitkat)。现在我收到了这个奇怪的错误。该应用程序不会崩溃,但只有一些正常按钮正在消失。 我正在通过 XML 文件和代码设置我的布局。 错误
找不到类 'android.graphics.drawable.RippleDrawable',引用自方法 android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
有谁知道是什么导致了这个错误?我该如何解决?
我的依赖:
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
更新: 我将每个矢量文件移动到新的 drwabale-v21 文件夹。现在我收到此错误。:
Android.view.InflateException: Binary XML file line #11: Error inflating class 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 在
....
不幸的是,Android 4.4 不支持矢量绘图。 我能为 => Android 4.4 支持矢量绘图做什么?
【问题讨论】:
-
stackoverflow.com/a/35908070/1222099 问题是您需要在 getPressedColorRippleDrawable 中返回 Drawable 而不是 RippleDrawable。否则,在棒棒糖之前的设备上,您将收到一个 VerifyError。
-
这是一个不同的问题,因为我是通过 XML 文件而不是通过代码设置布局。而且我的应用不会崩溃。
-
创建和膨胀两种不同的布局怎么样?
-
如您所见here,您是否将支持库 22.1 与 DrawableCompat 一起使用?
-
'compile com.android.support:support-v4:24.2.1'编译'com.android.support:appcompat-v7:24.2.1'
标签: android android-layout android-4.4-kitkat