gpt4 book ai didi

android - AnimatedVectorDrawable 或 AnimatedVectorDrawableCompat 都在不同的 api 级别上崩溃

转载 作者:行者123 更新时间:2023-11-29 01:04:13 24 4
gpt4 key购买 nike

此代码适用于 Lollipop:

drawable = AppCompatResources.getDrawable(this, R.drawable.list_2_map_animated_vector_drawable)!!
(drawable as AnimatedVectorDrawableCompat).start()

但在 Oreo 上它崩溃并出现以下异常:

Process: com.tractrac.otrack.debug, PID: 23424
java.lang.ClassCastException: android.graphics.drawable.AnimatedVectorDrawable cannot be cast to android.support.graphics.drawable.AnimatedVectorDrawableCompat
at com.myprettyapp.main.MainActivity$onCreate$6.onClick(MainActivity.kt:177)
at android.view.View.performClick(View.java:6303)
at android.view.View$PerformClick.run(View.java:24828)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6809)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

更改为 (drawable as AnimatedVectorDrawable) 使其在 Oreo 上运行良好,但在 Lollipop 中出现完全相同的崩溃,但相反。

我认为 AnimatedVectorDrawableCompat 对两者都适用。

我该如何解决这个问题?

最佳答案

对于 API 24 及更高版本,此类委托(delegate)给框架的 AnimatedVectorDrawable。对于较旧的 API 版本,此类使用 ObjectAnimator 和 AnimatorSet 为 VectorDrawableCompat 的属性设置动画以创建动画可绘制对象。

关于android - AnimatedVectorDrawable 或 AnimatedVectorDrawableCompat 都在不同的 api 级别上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com