static boolean canSafelyMutateDrawable(@NonNull Drawable drawable) {
if (drawable instanceof LayerDrawable) {
if (VERSION.SDK_INT >= 16) {
return true;
}
return false;
} else if (drawable instanceof InsetDrawable) {
if (VERSION.SDK_INT < 14) {
return false;
}
return true;
} else if (drawable instanceof StateListDrawable) {
if (VERSION.SDK_INT < 8) {
return false;
}
return true;
} else if (drawable instanceof GradientDrawable) {
if (VERSION.SDK_INT < 14) {
return false;
}
return true;
} else if (drawable instanceof DrawableContainer) {
ConstantState state = drawable.getConstantState();
if (!(state instanceof DrawableContainerState)) {
return true;
}
for (Drawable child : ((DrawableContainerState) state).getChildren()) {
if (!canSafelyMutateDrawable(child)) {
return false;
}
}
return true;
} else if (drawable instanceof DrawableWrapper) {
return canSafelyMutateDrawable(((DrawableWrapper) drawable).getWrappedDrawable());
} else {
if (drawable instanceof android.support.v7.graphics.drawable.DrawableWrapper) {
return canSafelyMutateDrawable(((android.support.v7.graphics.drawable.DrawableWrapper) drawable).getWrappedDrawable());
}
return true;
}
}
DrawableUtils.java 文件源码
java
阅读 48
收藏 0
点赞 0
评论 0
项目:boohee_v5.6
作者:
评论列表
文章目录