Android开发-根据起点终点实现直线逐点绘制动画-01

先上效果图:我们要来实现,2个球,中心点的连线动画

简化后的效果是这样:

Android开发-根据起点终点实现直线逐点绘制动画-01_第1张图片

先说一下实现原理:

1.自定义一个控件,继承View。

        在实力化这个View的时候,初始化画笔(Paint)和路径(Path)。

2.写一个计算工具类,根据起点终点,计算直线经过的点,该工具类返回点的集合。

3.写一个动画工具类,来点调用计算,实力化自定义控件,把控件添加到视图,播放动画。

在主视图,调用只有一行代码:这里贴一下MainActivity的完成代码:

package com.iwanghang.movelineview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.iwanghang.movelineview.whUtil.AnimatorUtil;

/**
 * 目的是实现一个直线绘制的动画
 *      这个Demo,是在一个RelativeLayout控件中,根据起点xy,终点xy,来实现这个动画
 *      但是不限于RelativeLayout,父控件是主视图也可以,什么都行
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /**直线绘制动画*/
        // AnimatorUtil.doAnimatorPlay(this);
        AnimatorUtil.doAnimatorPlay(this, 100, 100, 400, 600);
    }

}

 

你可能感兴趣的:(Android)