单点触摸产生波纹(类似水波)
来源:互联网 发布:淘宝充值送优酷会员 编辑:程序博客网 时间:2024/05/29 19:15
package com.zking.diypointtouch;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Handler;import android.os.Message;import android.view.MotionEvent;import android.view.View;/** * Created by Administrator on 2017/7/9 0009. */public class Practice extends View{ //画笔 private Paint mpaint; //定义圆线的宽度 private int mstroken; //圆心 private int cx; private int cy; //半径 private int cr; //发送消息 private static final int FLUSH=0; public Practice(Context context) { super(context); init(); } private void init(){ //初始化画笔 mpaint=new Paint(); //抗锯齿 mpaint.setAntiAlias(true); //设置颜色 mpaint.setColor(Color.BLACK); //设置圆线的宽度 mpaint.setStrokeWidth(mstroken); //设置圆的透明度 mpaint.setAlpha(255); //初始值 mstroken=0; cr=0; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawCircle(cx,cy,cr,mpaint); } @Override public boolean onTouchEvent(MotionEvent event) { // 判断手势按下和抬起 switch (event.getAction()) { case MotionEvent.ACTION_DOWN: cx = (int) event.getX(); cy = (int) event.getY(); break; } // 初始化 init(); // 发送 handler.sendEmptyMessage(FLUSH); return true; } private void flush(){ cr+=10;//每次都加十 mstroken=cr/4;//圆线的粗细 mpaint.setStrokeWidth(mstroken);//重新设置 int nextAlpha=mpaint.getAlpha()-20;//每次减20 if(nextAlpha<0){//避免透明度为负 nextAlpha=0; } mpaint.setAlpha(nextAlpha); } private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case FLUSH: flush(); invalidate();//重新绘制 if (mpaint.getAlpha() != 0) { //每100ms刷新一次 handler.sendEmptyMessageDelayed(FLUSH, 100); } break; } } };}
阅读全文
0 0
- 单点触摸产生波纹(类似水波)
- Android实现水波纹效果波纹效果(Ripple)
- iOS 动画 - 波纹 声波 水波
- Touch Feedback(触摸反馈):水波纹
- 1.处理屏幕触摸(单点触摸)
- 触摸反馈(波纹效果Ripple)
- 单点触摸
- 水波纹效果----单环波纹
- 水波纹效果---3环波纹
- Cocos2d触摸:单点触摸
- android的多点触摸(制作水波涟漪效果)
- ios点击产生波纹效果
- Cocos2d-x——触摸事件(单点触摸)
- Android-单点触摸-多点触摸
- 类似咻一咻,水波纹实现
- Cocos2d-x 单点触摸
- Cocos2d-x_单点触摸
- quick 单点触摸
- 【springmvc】springmvc框架
- 【面经笔记】面向对象
- 【ESP8266】ESP8266使用ESP-NOW入门教程
- 构造器
- POJ 3096 Surprising Strings 笔记
- 单点触摸产生波纹(类似水波)
- 【SQL注入之sqli-labs】Less 1
- angularjs源码分析之:angularjs执行流程
- POJ_1611-The Suspects(并查集)
- Oracle与Mysql自动增长列(id)的区别
- python自然语言处理---jieba中文处理
- jzoj5215&&bzoj4870[Shoi2017]组合数问题 dp+矩阵快速幂
- ElasticSearch插入数据问题
- Android内存泄露的总结