最近在项目中有用到雷达扫描动画,这个效果也常被用于扫描或定位等事件,通过一个小Demo对此进行一下总结。
动画截图如下:
Android的动画分两类:一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。另一类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。
此处的基本思想是通过自定义雷达View,不断刷新和绘制雷达View实现扫描Tween动画。
1. 首先自定义雷达View,RadarView.java代码如下:
package com.example.radar;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.view.View;
public class RadarView extends View{
private Paint circlePaint;//圆形画笔
private Paint linePaint;//线形画笔
private Paint sweepPaint;//扫描画笔
SweepGradient sweepGradient;//扇形渐变Shader
int degree = 0;
public RadarView(Context context){
super(context);
}
public RadarView(Context context, AttributeSet att){
super(context,att);
initPaint();
}
/**
* @param
* @return void
* @Description //初始化定义的画笔

本文介绍了如何在Android中实现雷达扫描动画,通过自定义RadarView并利用SweepGradient进行渐变扫描效果。动画分为Tween动画和Frame动画,文中重点讲述了自定义View的绘制和扫描动画的实现方式,包括RadarView的Java代码、XML布局以及扫描刷新线程的创建。
最低0.47元/天 解锁文章
1013

被折叠的 条评论
为什么被折叠?



