千锋教育论坛

查看: 16590|回复: 29

Android 水波纹效果实现

  [复制链接]

24

主题

102

帖子

771

积分

大牛

Rank: 4

社区QQ达人

发表于 15-4-5 23:18:54 | 显示全部楼层 |阅读模式
没有这个DEMO我真不知道安卓水波纹是怎么实现的,这个不多讲了,模拟器中有点卡的样子,大家在真机上试是正常的,直接上代码,上效果,有需要的朋友下载下附件DEMO就可以了, 里面有些是调用NATIVE库的,希望CPP高手C高手多留言指点指点,放在这,供大家下载学习交流,吼吼,好东西,必须分享,这个DEMO, 不多讲了,直接写了,原因看注释里面就行的了 效果如下:


主控制类代码如下:
  • package com.example.plasma;  
  • import android.app.Activity;  
  • import android.content.Context;  
  • import android.content.Intent;  
  • import android.os.Bundle;  
  • import android.util.AttributeSet;  
  • import android.view.MotionEvent;  
  • import android.view.View;  
  • import android.view.Window;  
  • import android.graphics.Bitmap;  
  • import android.graphics.BitmapFactory;  
  • import android.graphics.Canvas;  
  • import android.graphics.Color;  
  • /**   
  • * @Title: AnimActivity.java  
  • * @Package com.example.plasma  
  • * @Description: 安卓水波纹效果制作学习  
  • * @author XiaoMa  
  • *   
  • *   
  • */
  • public class AnimActivity extends Activity {  
  •     @Override
  •     public void onCreate(Bundle savedInstanceState){  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(new PlasmaView(this));  
  • //      this.requestWindowFeature(Window.FEATURE_NO_TITLE);  
  •     }  
  •       
  •       
  • }  
  • class PlasmaView extends View implements View.OnTouchListener{   
  •     private Bitmap mBitmap;  
  •     long time;  
  •     long fps;  
  •     public PlasmaView(Context context) {  
  •         super(context);         
  •         Bitmap bmp = BitmapFactory.decodeResource(this.getResources(),R.drawable.lvzi);  
  •         mBitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Bitmap.Config.RGB_565);  
  •         AnimRender.setBitmap(bmp);  
  •         this.setOnTouchListener(this);  
  •     }  
  •     @Override   
  •     protected void onDraw(Canvas canvas) {  
  •         long ct = System.currentTimeMillis();  
  •         if(ct - time > 1000){  
  •             time = ct;  
  •             fps = 0;  
  •         }  
  •         fps++;        
  •          
  •         AnimRender.render(mBitmap);      
  •         canvas.drawBitmap(mBitmap, 0, 0, null);  
  •         postInvalidate();  
  •     }  
  •     @Override
  •     public boolean onTouch(View v, MotionEvent event) {  
  •         AnimRender.drop((int)event.getX(), (int)event.getY(), 500);  
  •         return false;  
  •     }  
  • }  
  • class AnimRender{  
  •     public static native void setBitmap(Bitmap src);  
  •     public static native void render(Bitmap dst);  
  •     public static native void drop(int x, int y, int height);  
  •      
  •     static {  
  •         System.loadLibrary("plasma");  
  •     }  
  • }  










24

主题

102

帖子

771

积分

大牛

Rank: 4

社区QQ达人

 楼主| 发表于 15-4-7 13:00:07 | 显示全部楼层
千里寻他众百度

0

主题

1

帖子

5

积分

菜鸟

Rank: 1

社区QQ达人

发表于 15-6-9 18:24:19 | 显示全部楼层
hao dongxi

0

主题

2

帖子

13

积分

菜鸟

Rank: 1

社区QQ达人

发表于 15-6-25 23:24:34 | 显示全部楼层
感谢楼主
匿名  发表于 15-12-20 22:34:35
千里寻他众百度

0

主题

1

帖子

5

积分

菜鸟

Rank: 1

发表于 16-2-16 14:05:22 | 显示全部楼层

12

主题

191

帖子

432

积分

牛人

Rank: 3Rank: 3

发表于 16-2-18 13:45:04 | 显示全部楼层
这么牛叉,怎么做到的

19

主题

230

帖子

520

积分

大牛

Rank: 4

发表于 16-2-18 13:46:32 | 显示全部楼层
春天来了。带条狗溜溜去

6

主题

14

帖子

40

积分

菜鸟

Rank: 1

发表于 16-3-17 16:46:20 | 显示全部楼层
好东西要顶起来!

0

主题

1

帖子

8

积分

菜鸟

Rank: 1

社区QQ达人

发表于 16-3-21 16:59:16 | 显示全部楼层
好东西~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们

电话:400-654-7778
交流群:523516910

点击咨询

学习资料

千锋教育

订阅|小黑屋|手机版|千锋教育论坛 ( 京ICP备12003911号-3

GMT+8, 20-5-26 20:54 , Processed in 0.377435 second(s), 46 queries .

Powered by 千锋教育 X3.2

© 2001-2015

快速回复 返回顶部 返回列表