之前在三星手机上看到点击屏幕后出现水波的特效,所以尝试着写了个类似的效果

实现自定义一个View,并实现构造方法

public class MyView extends View {

public MyView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

public MyView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

}

}

如果要绘制圆环,则需要设置圆环的半径、描边宽度(如果弄填充满的则不需要)、X和Y的坐标,因为点击屏幕出现圆环后还需要消失,所以还要加上透明度

那么我们新建一个Bean,去实现这些

public class MyBean {

int alpha; // 透明度

int X; // X坐标

int Y; // Y坐标

float width; // 描边宽度

float radius; // 半径

Paint paint; // 画笔

}

接下来就是获取点击屏幕后的事件,思路很明确,点击屏幕后,首先设置绘制的圆的半径为0,透明度为最大值255,描边宽度这里按个人喜好随意设置

@Override

public boolean onTouchEvent(MotionEvent event) {

super.onTouchEvent(event);

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

// 点击屏幕后 半径设为0,alpha设置为255

MyBean bean = new MyBean();

bean.radius = 0; // 点击后 半径先设为0

bean.alpha = MaxAlpha; // alpha设为最大值 255

bean.width = bean.radius / 8; // 描边宽度 这个随意

bean.X = (int) event.getX(); // 所绘制的圆的X坐标

bean.Y = (int) event.getY(); // 所绘制的圆的Y坐标

bean.paint = initPaint(bean.alpha, bean.width);

break;

}

return true;

}

设置完属性后,交给handler去绘制界面,每过X毫秒后,绘制的圆的半径+N,透明度-M

bean.radius += 5;// 半径每次+5

bean.alpha -= 10;// 透明度每次减10

if (bean.alpha < 0) {

// 透明度小雨0的时候 赋为0

bean.alpha = 0;

}

bean.width = bean.radius / 8; // 描边宽度设置为半径的1/4

bean.paint.setAlpha(bean.alpha);

bean.paint.setStrokeWidth(bean.width);

至此,我们所有的主要代码已实现



原文:http://blog.csdn.net/qq_18612815/article/details/51329364

android点击屏幕特效,Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环...相关推荐

  1. Android自定义控件(特效一) 点击屏幕,根据所点击的位置绘制圆环

    之前在三星手机上看到点击屏幕后出现水波的特效,所以尝试着写了个类似的效果 实现自定义一个View,并实现构造方法 [java] view plaincopy <span style=" ...

  2. 自定义控件android特效,Android自定义控件eBook实现翻书效果实例详解

    本文实例讲述了Android自定义控件eBook实现翻书效果的方法.分享给大家供大家参考,具体如下: 效果图: Book.java文件: package com.book; import androi ...

  3. 代码android点击效果,GitHub - likaiyuan559/TouchEffects: Android View点击特效TouchEffects,几行代码为所有控件添加点击效果...

    Android 点击特效TouchEffects TouchEffects能够帮助你更快速方便的增加点击时候的效果,TouchEffects的目标是打造一个稳定.全面.且能更方便的自定义及个性化的一款 ...

  4. android qq右上加号,仿QQ空间点击加号弹出菜单特效

    最近项目需要,前几天写了一个仿微信相册(包括编辑相册)功能,审核代码的时候发现同事要实现一个类似仿QQ空间点击加号弹出菜单特效,于是看了一些他的代码,我发现虽然他实现了功能,但是不够完善,所以我又花了 ...

  5. android 自定义特效,Android自定义FloatingText仿点赞+1特效

    本文实例为大家分享了Android自定义View,可以仿点赞往上飘+1的一个特效,或者点击加入购物车商品抛物线特效. FloatingText 是一个能够在任何控件之上执行漂浮效果动画的控件. 效果图 ...

  6. android怎么用代码调图像,浅谈android中图片处理之图形变换特效Matrix(四)(示例代码)...

    今天,我们就来谈下android中图片的变形的特效,在上讲博客中我们谈到android中图片中的色彩特效来实现的.改变它的颜色主要通过ColorMatrix类来实现. 现在今天所讲的图片变形的特效主要 ...

  7. 浅谈android中图片处理之图形变换特效Matrix(四)

    今天,我们就来谈下android中图片的变形的特效,在上讲博客中我们谈到android中图片中的色彩特效来实现的.改变它的颜色主要通过ColorMatrix类来实现. 现在今天所讲的图片变形的特效主要 ...

  8. android xml红心圆,用android:clipChildren来实现红心变大特效

    最近在看别人技术博客(http://www.cnblogs.com/over140/p/3508335.html)的时候,发现一个属性:android:clipChildren属性. 翻文档找到下面介 ...

  9. android图片跳转动画效果,Android实现Activity界面切换添加动画特效的方法

    本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在An ...

最新文章

  1. Qt Creator运行自动测试
  2. JavaScript:Browser 对象
  3. .net ad域登录 form认证_golang|给Gitbook做个认证代理
  4. 从键盘上录入两个整数,计算a的b次方的结果
  5. 我的nginx+php是如何配置的?
  6. 阿里巴巴2010校园招聘笔试题
  7. java分布式缓存memcached_分布式缓存系统Memcached学习心得
  8. 电路设计_示波器接地常识
  9. PyQt5 与PyQt4的区别
  10. 联想LENOVO K2450升级(或全新安装)Windows 10后不能正常关机的解决方案
  11. maven 报错 Failed to execute goal on project ...: Could not resolve dependencies for project ...
  12. 一起学英语 - 前言
  13. Android 手机卡了怎么办
  14. ​奥运赛事,斩获的不止是金银
  15. CATIA P3 V5-6R2018 软件下载
  16. 【有利可图网】双十一“亮眼”设计大赏来了!!
  17. Collection接口共性方法
  18. LIB,DLL区别 及 QT中如何添加LIB,DLL
  19. 如何组建优秀的创业团队
  20. 梦一样——十一月英语总结

热门文章

  1. kafka集群的搭建
  2. Namespace declaration statement has to be the very first statement in the script
  3. 在一台服务器上搭建多个项目的SVN
  4. Spring通过Gmail SMTP服务器MailSender发送电子邮件
  5. repeater 的解释说明 用法
  6. python算法与数据结构-数据结构中常用树的介绍(45)
  7. 一步一步搭建ELK日志处理集群(自己做过测试)
  8. PHP 数据库连接池实现
  9. Linux的Nginx报错emerg unknown directive stub_status in
  10. 反思各种型格人做事方法