Android画廊实现一滴雨及多滴雨
来源:互联网 发布:公文写作神器软件 编辑:程序博客网 时间:2024/06/07 23:39
Android画廊实现一滴雨及多滴雨
首先我们先定好思路:
先写好一个圆的类(Rian)—然后创建MyView—在MainActivity中把MyView new 出来
代码块
首先圆的类:
public class Rian { private float cx;//x轴 private float cy;//y轴 private float r = 10;//半径 private int a = 255;//透明度 public Rian(float cx, float cy) { super(); this.cx = cx; this.cy = cy; } public int getA() { return a; } public void onDrawSub(Canvas canvas, Paint paint) { r += 5; a -= 5; if (a < 0) { a = 0; } paint.setAlpha(a); canvas.drawCircle(cx, cy, r, paint); }}
然后就要创建一个MyView的类:
package com.example.rain;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import android.R.color;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Paint.Style;import android.os.SystemClock;import android.view.MotionEvent;import android.view.View;public class MyView extends View { Paint paint=new Paint();//画廊 private List<Rian> rians=new ArrayList<Rian>();//多滴雨 public MyView(Context context) { super(context); paint.setStyle(Style.STROKE);//空心 paint.setStrokeWidth(1); paint.setAntiAlias(true);//抗锯齿 paint.setColor(color.black); new MyThread().start(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Iterator<Rian> it=rians.iterator(); Rian rian=null; while(it.hasNext()){ rian=it.next(); if(rian.getA()==0){ it.remove(); continue; } rian.onDrawSub(canvas, paint); } //加上这句代码就是多滴雨的实现// for(Rian rian:rians){// rian.onDrawSub(canvas, paint);// } } @Override public boolean onTouchEvent(MotionEvent event) { if(MotionEvent.ACTION_DOWN==event.getAction()){ float cx=event.getX(); float cy=event.getY(); Rian rian=new Rian(cx, cy); rians.add(rian); } return true; } class MyThread extends Thread{ @Override public void run() { while(true){ SystemClock.sleep(100); postInvalidate(); } } }}
最后把MainActivity中的那句代码加上就行:
setContentView(new MyView(this));
阅读全文
0 0
- Android画廊实现一滴雨及多滴雨
- Android学习实现画廊效果
- android 画廊实现异步加载
- android galley实现画廊效果
- android实现一滴雨(采用onTouchEvent触摸事件和线程)
- Android 使用HorizontalScrollView 实现图片画廊
- Android-画廊实现 (Gallery , ImageSwitch)
- android使用ViewPager实现画廊效果
- Android Viewpager实现3D画廊效果
- Android 中使用ViewPager实现画廊效果
- android viewpager实现3d画廊效果
- 【Android】利用ViewPager实现画廊效果
- Android之基于viewPager画廊实现
- 一滴雨,一颗心
- Android照片墙加强版,使用ViewPager实现画廊效果
- Android ViewPager+Fragment 实现画廊效果(一屏多Fragment)
- Android开发学习之基于ViewPager实现Gallery画廊效果
- Android照片墙加强版,使用ViewPager实现画廊效果
- Scrapy-redis增量爬取以及Simhash相似文档的去重
- 【基础】队列的插入和删除--C++源代码(g++ 7.2.0)
- 轻松搭建 VPS ($2.5/月 支付宝)
- Nginx是什么能干什么,linux安装
- 关于Python利用爬虫给朋友讲笑话
- Android画廊实现一滴雨及多滴雨
- 新Mac配置python,以及虚拟环境
- u-boot 2013.04-rc1移植(2)
- ADV-163 能量项链
- 路径规划
- 计算机通信网络复习
- C++基础语法-02-运算符重载
- c++二个矩形的位置关系,新手写(无难点)
- NOIP2017_提高组_复赛_DAY1