package com.mingle.widget; import android.annotation.TargetApi; import android.content.Context; import android.graphics.Canvas; import android.os.Build; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.animation.Interpolator; /** * @author zzz40500 * @version 1.0 * @date 2015/8/8. * @github: https://github.com/zzz40500 * */ public class CRImageView extends android.widget.ImageView implements CircleRevealHelper.CircleRevealEnable { private CircleRevealHelper mCircleRevealHelper; public CRImageView(Context context) { super(context); init(); } public CRImageView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public CRImageView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public CRImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(); } @Override public boolean onTouchEvent(MotionEvent event) { if(getParent() instanceof GrowUpParent){ return ((GrowUpParent) getParent()).onParentHandMotionEvent(event); } return super.onTouchEvent(event); } private void init() { mCircleRevealHelper=new CircleRevealHelper(this); } @Override protected void onDraw(Canvas canvas) { mCircleRevealHelper.onDraw(canvas); } @Override public void superOnDraw(Canvas canvas) { super.onDraw(canvas); } @Override public void circularReveal(int centerX, int centerY, float startRadius, float endRadius, long duration, Interpolator interpolator) { mCircleRevealHelper.circularReveal(centerX,centerY,startRadius,endRadius,duration,interpolator); } @Override public void circularReveal(int centerX, int centerY, float startRadius, float endRadius) { mCircleRevealHelper.circularReveal(centerX,centerY,startRadius,endRadius); } }