Android(安卓)撕衣服Demo(OnTouchListener 应用)
16lz
2021-01-26
1,布局
2,代码
【1】流程:
A,利用RelativeLayout 控件重叠的特性,设置两个image view
B,创建原图副本然后使用OnTaouchListener监听把移动的点变成透明
//[1]获取我们要操作的原图 Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pre19); //[2]获取原图的副本 final Bitmap copyBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig()); Paint paint = new Paint(); Canvas canvas = new Canvas(copyBitmap); canvas.drawBitmap(srcBitmap, new Matrix(), paint); //[3]把copybitmap的内容展示到iv上 iv.setImageBitmap(copyBitmap); //[4]给iv设置触摸事件 iv.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_MOVE: //移动 //[5]当手指移动 让图片变透明 for (int i = -15; i < 15; i++) { for (int j = -15; j < 15; j++) { //[6]市面上的一些应用撕了一个圆 为了良好的用户体验 撕一个圆 if (Math.sqrt(i*i + j*j)<15) { try { copyBitmap.setPixel((int)event.getX()+i,(int)event.getY()+j, Color.TRANSPARENT); //[7]记得更新ui iv.setImageBitmap(copyBitmap); } catch (Exception e) { } } } } break; } return true; } }); }}
更多相关文章
- Android获取摄像头视频帧并实时处理(转载)
- native.js获取手机硬件基本信息实例代码android版
- android 中downloadmanager学习
- delphixe 安卓 android操作 打电话,摄像头,定位等
- Android获取通讯录联系人显示在EditText上Demo
- android 利用getIdentifier()获取资源
- Android音频处理学习之MediaExtractor获取aac文件后添加ADTS头
- 【Android】获取应用程序(包)的信息-----PackageManager的使用(
- Android选择本地图片并裁剪工具类