【发布时间】:2016-10-18 08:31:10
【问题描述】:
我尝试使用 ContextCompat 访问 AnimatedVectorDrawable,如下所示。我使用以下代码来执行此操作。它在 Android 5 及更高版本中运行良好,但在 android 版本 4 中运行良好。
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void startOpenAnimations() {
// Icon
AnimatedVectorDrawable menuIcon = (AnimatedVectorDrawable) ContextCompat.getDrawable(getContext(),
R.drawable.ic_menu_animated);
mFabView.setImageDrawable(menuIcon);
menuIcon.start();
// Reveal
int centerX = mFabRect.centerX();
int centerY = mFabRect.centerY();
float startRadius = getMinRadius();
float endRadius = getMaxRadius();
Animator reveal = ViewAnimationUtils
.createCircularReveal(mNavigationView,
centerX, centerY, startRadius, endRadius);
// Fade in
mNavigationMenuView.setAlpha(0);
Animator fade = ObjectAnimator.ofFloat(mNavigationMenuView, View.ALPHA, 0, 1);
// Animations
AnimatorSet set = new AnimatorSet();
set.playSequentially(reveal, fade);
set.start();
}
android.content.res.Resources$NotFoundException: 文件 res/drawable/ic_menu_animated.xml 来自可绘制资源 ID
0x7f020064
at android.content.res.Resources.loadDrawable(Resources.java:3451) at android.content.res.Resources.getDrawable(Resources.java:1894) atandroid.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:354)
为什么在 Lollipop 设备中无法使用 ContextCompat 进行 getDrawable
我怎样才能解决这个问题?
【问题讨论】:
标签: android