当前位置: 源码素材网 » Android教程 » 详情页

圆形扩散动画效果-android动画制作实例

  •   时间:2020-01-02
  • 概述:扩散动画

Android实现的圆形扩散动画效果,主要是使用属性动画的超类Animator来实现,下面是实现过程:

在MamActivity类中初始化控件,为其中的ImageVew设置单击事件,并在单击事件中设置 动画。代码如下:

public class MainActivity extends AppCompatActivity {
    private RelativeLayout home;
    private ImageView image;
    private LinearLayout showAnimation;
    private Animator animator;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化RelativeLayout
        home = (RelativeLayout) findViewById(R.id.home_group);
        //初始化ImageView
        image = (ImageView) findViewById(R.id.image1);
        //初始化LinearLayout
        showAnimation = (LinearLayout) findViewById(R.id.showAnimation);
        //设置ImageView的点击事件
        image.setOnClickListener(new View.OnClickListener() {
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void onClick(View v) {
                int width = home.getWidth();//获取宽度
                int height = home.getHeight();//获取高度
                int centerX = width>>1;//获取宽度的一半
                int centerY = height>>1;//获取高度的一半
                float finalRadius = (float) Math.hypot(width, height);//获取半径
                animator = ViewAnimationUtils.createCircularReveal(//设置动画
                        showAnimation, centerX, centerY, 0, finalRadius);
                animator.setInterpolator(new AccelerateDecelerateInterpolator());//设置插值器
                animator.setDuration(3000);//设置动画时间
                animator.start();//播放动画
            }
        });
    }
}

再此基础上,您可以扩展实例,更改动画的插值器设置,查看动画的执行速度发生哪些变化。

    相关声明:

      若“圆形扩散动画效果-android动画制作实例”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。