Android自定义View实现直播点赞特效的方法
发布时间:2020-07-30 09:24:13
来源:亿速云
阅读:77
作者:小猪
这篇文章主要讲解了Android自定义View实现直播点赞特效的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
由于开发的需要,需要开发类似直播点赞特效的需求,于是自定义View来实现这种效果
案例图:
自定义View
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.TypeEvaluator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import com.xinrui.ndkapp.R;
import java.util.Random;
/**
* Created by liuyong
* Data: 2017/8/8
* Github:https://github.com/MrAllRight
* 直播点赞view
*/
public class GivePraiseView extends RelativeLayout {
private RelativeLayout.LayoutParams layoutParams;//图片布局参数
private PointF mPointF0, mPointF1, mPointF2, mPointF3;//通过3阶贝塞尔曲线控制图片的移动轨迹
private int mScreenWidth, mScreenHeight;//屏幕宽高
private Drawable[] mImageDrawables;//加载点赞红心图片,红黄蓝
private int mDrawableWidth, mDrawableHeight;//图片的宽高
private Random mRandom = new Random();
private int count = 0;
private Interpolator[] interpolators = new Interpolator[4];
public GivePraiseView(Context context) {
super(context);
init();
}
public GivePraiseView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}