雷达效果,

本文深入探讨雷达图在数据分析中的应用,详细解释雷达图的工作原理,并提供使用Python和JavaScript库(如matplotlib和D3.js)创建雷达图的步骤。通过实例展示如何定制雷达图的样式,包括颜色、轴标签和填充图案,以更好地呈现多维度数据。
摘要由CSDN通过智能技术生成

Android仿新浪微博雷达扫描效果 

[复制链接]
   

签到天数: 4 天

连续签到: 1 天

[LV.2]偶尔看看I

3

主题

9

帖子

151

e币
跳转到指定楼层
楼主
  发表于 2015-8-31 15:18:14  |  只看该作者  回帖奖励
之前在新浪微博看到一个雷达效果,可以查看图

先说说这个效果

1.程序默认提示点击雷达,开始探索

2.当点击雷达,提示正在探索周边的人,同时展示雷达扫描效果,即雷达按钮绕中心旋转,展现波纹达到扫描效果,

3.当触摸雷达时,雷达按钮会缩小,然后手指离开时,雷达按钮会缩回原位

4.最后如果扫描到周边的人,卡片显示周边人的信息,如果没有扫描到,则提示未能探索到周边的人,请稍后再试,同时关闭扫描效果


这里就不卡片展示周边人这个效果,毕竟是仿制,我们只需要关注动画效果,所以做个每两秒执行扫描效果一周,执行3遍显示为没有搜索到周边的人就行了


说说当中的技术点

1.首先是要熟悉canvas,paint,,其中canvas的画圆,画图片(之所以要熟悉画图片,是因为我们有四张图来显示成按钮,这四张图从新浪微博的app里获取,估计它也是这么干的),画文字等要熟悉。

2.雷达按钮绕中心旋转,这就要涉及到矩阵了,因为雷达按钮绕中心旋转,实际上也是对图片进行旋转操作,这样的话Matrix就比较合适了,至于旋转的角度怎么得到,用ValueAnimator比较合适,它可以在你设定的时间内,获取到你设定的两个值(这里指旋转角度,0,到360)之间的速率的变化值,然后刷新View的旋转角度就可以达到旋转的效果了

3.雷达按钮的缩放,原理同旋转,只不过我们关注的是缩放的比率而已

4.雷达的扫描效果,这个可以具体看看微博的效果,它是首先启动灰色波纹效果,没多久白色波纹效果与灰色效果同时抵达,就像波浪,后边的波浪把前一次波浪冲抵,当到达一定程度的时候显示灰色线波纹,达到波浪消失的效果,这里灰色波浪与白色波浪的冲抵效果,我用到了ValueAnimator里的Interpolator,其中分别为灰色波纹为减速DecelerateInterpolator,白色为AccelerateInterpolator,灰色线波纹为LinearInterpolator,一个减速,一个加速,达到追击的效果,一个线性,达到逐渐消失的效果


来看看我们的效果图,请查看附件:


gif录制效果不是很好,大家会给大家提供链接,自行下载查看效果


现在上自定义源码:

  1. package com.RadarScanView.app;

  2. import android.animation.Animator;
  3. import android.animation.AnimatorListenerAdapter;
  4. import android.animation.ValueAnimator;
  5. import android.content.Context;
  6. import android.graphics.Bitmap;
  7. import android.graphics.BitmapFactory;
  8. import android.graphics.Canvas;
  9. import android.graphics.Color;
  10. import android.graphics.Matrix;
  11. import android.graphics.Paint;
  12. import android.graphics.Rect;
  13. import android.os.Looper;
  14. import android.util.AttributeSet;
  15. import android.view.MotionEvent;
  16. import android.view.View;
  17. import android.view.animation.AccelerateInterpolator;
  18. import android.view.animation.DecelerateInterpolator;
  19. import android.view.animation.LinearInterpolator;

  20. /**
  21. * Created by Administrator on 2015/8/31.
  22. */
  23. public class RadarScanView extends View {
  24.     //默认扫描图标
  25.     private Bitmap mIconScanBitmap;
  26.     //扫描时图标
  27.     private Bitmap mIconScaningBitmap;
  28.     //白色扫描图
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值