圆角动画实现小细节

最近项目中有一个开红包的动画需要实现,具体为:开红包时,上下两部分打开的动画。本来觉得没什么难度,但是实现的时候发现了一个棘手的地方,由于红包上下两部分都是带圆角的,ImageView在移动的时候会将这部分圆角覆盖,产生视觉差,很难看。


圆角动画实现小细节_第1张图片
红包图片

解决方法:加一个底层View,对底层View绘制圆角即可解决

 @Override
    public void dispatchDraw(Canvas canvas) {
        Path path = new Path();
        int w = this.getWidth();
        int h = this.getHeight();
        path.addRoundRect(new RectF(0, 0, w, h), 16, 16, Path.Direction.CW);
        canvas.clipPath(path);
        super.dispatchDraw(canvas);
    }

传送门

你可能感兴趣的:(圆角动画实现小细节)