List of usage examples for android.graphics.drawable VectorDrawable setCallback
public final void setCallback(@Nullable Callback cb)
From source file:com.hippo.vector.AnimatedVectorDrawable.java
public void inflate(Context context, XmlPullParser parser, AttributeSet attrs) throws XmlPullParserException, IOException { final AnimatedVectorDrawableState state = mAnimatedVectorState; int eventType = parser.getEventType(); float pathErrorScale = 1; while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) { final String tagName = parser.getName(); if (ANIMATED_VECTOR.equals(tagName)) { final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AnimatedVectorDrawable); int drawableRes = a.getResourceId(R.styleable.AnimatedVectorDrawable_drawable, 0); if (drawableRes != 0) { VectorDrawable vectorDrawable = VectorDrawable.create(context, drawableRes); if (vectorDrawable != null) { vectorDrawable.setAllowCaching(false); vectorDrawable.setCallback(mCallback); pathErrorScale = vectorDrawable.getPixelSize(); if (state.mVectorDrawable != null) { state.mVectorDrawable.setCallback(null); }/* w ww. j a va 2 s .c om*/ state.mVectorDrawable = vectorDrawable; } } a.recycle(); } else if (TARGET.equals(tagName)) { final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AnimatedVectorDrawableTarget); final String target = a.getString(R.styleable.AnimatedVectorDrawableTarget_name); final int animResId = a.getResourceId(R.styleable.AnimatedVectorDrawableTarget_animation, 0); if (animResId != 0) { state.addTargetAnimator(target, AnimatorInflater.loadAnimator(context, animResId, pathErrorScale)); } a.recycle(); } } eventType = parser.next(); } }