转载:https://juejin.im/post/5cbc146751882541625684bd.
项目TARGET_SDK_VERSION升级到29后,项目中自定义裁剪的圆角控件都崩溃,原因是裁剪时调用canvas.clipRect(@NonNull Path path, @NonNull Region.Op op)带有Region.Op参数的方法,报如下错:
Android 9.0 中如果在使用绘图裁剪功能时设置了除 Region.Op.INTERSECT 或 Region.Op.DIFFERENCE 以外的类型,就会报上述异常
具体原因是官方废弃了那几个具有 Region.Op 参数的裁剪方法,如 clipRect(@NonNull RectF rect, @NonNull Region.Op op) :
对于这个问题,可以通过以下方法进行适配:
小于26的可以用Region.Op.INTERSECT 或 Region.Op.DIFFERENCE 以外的类型