Android仿直播特效之点赞飘心

本文介绍了如何在Android中创建一个直播点赞飘心的动画效果,通过使用贝塞尔曲线和自定义控件实现。首先定义了一个Layout,并使用ObjectAnimator进行属性动画设置。接着详细解释了贝塞尔曲线动画的计算过程,包括四个关键点的坐标确定。最后,在MainActivity中添加点击事件来触发心形动画的显示。
摘要由CSDN通过智能技术生成

一、概述

老规矩先上图


好了,基本就是这个样子,录完的视频用格式工厂转换完就这个样子了,将就看吧

二、定义我们自己的Layout

/**
 * @author 刘洋巴金
 * @date 2017-4-27
 * 
 * 定义我们自己的布局
 * */
public class LoveLayout extends RelativeLayout{

	private Context context;
	private LayoutParams params;
	private Drawable[] icons = new Drawable[4];
	private Interpolator[] interpolators = new Interpolator[4];
	private int mWidth;
	private int mHeight;
	
	public LoveLayout(Context context, AttributeSet attrs) {
		super(context, attrs);
		
		this.context = context;
		initView();
	}

	private void initView() {
		
		// 图片资源
		icons[0] = getResources().getDrawable(R.drawable.green);
		icons[1] = getResources().getDrawable(R.drawable.purple);
		icons[2] = getResources().getDrawable(R.drawable.red);
		icons[3] = getResources().getDrawable(R.drawable.yellow);
		
		// 插值器
		interpolators[0] = new AccelerateDecelerateInterpolator(); // 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
		interpolators[1] = new AccelerateInterpolator();  // 在动画开始的地方速率改变比较慢,然后开始加速
		interpolators[2] = new DecelerateInterpolator(); // 在动画开始的地方快然后慢
		interpolators[3] = new LinearInterpolator();  // 以常量速率改变
		
		int width = icons[0].g
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值