简单的自定义涂鸦控件,没有写自定义属性

java代码中找到view后直接setBitmap(Bitmap bitmap)后就可以使用了

提供清除方法clear()

保存可以参考另一篇view转bitmap,不多写了

设置画笔颜色,线大小可自定义扩展

具体代码如下:

/*** Author txwang** @version V1.0* Created by txwang on 2019/3/28.* Instruction :涂鸦控件* @date: 2019-03-28 15:30**/
public class ImageDoodleView extends View {private int width;private int hei;private Bitmap bitmap;private Paint paint;private Canvas canvas;private float xPosition = -1;private float yPosition = -1;private boolean isFirst = true;private Path doodlePath;public ImageDoodleView(Context context) {this(context,null);}public ImageDoodleView(Context context, AttributeSet attrs) {super(context, attrs);init();}private void init() {paint = new Paint();paint.setColor(Color.parseColor("#66ff0000"));paint.setStrokeWidth(10);paint.setAntiAlias(true);paint.setStrokeCap(Paint.Cap.ROUND);paint.setStrokeJoin(Paint.Join.ROUND);paint.setStyle(Paint.Style.STROKE);doodlePath = new Path();}@Overrideprotected void onDraw(Canvas canvas) {this.canvas = canvas;if (null != bitmap){Paint paint = new Paint();
//            int left = width / 2 - bitmap.getWidth()/2;
//            int right = width / 2 + bitmap.getWidth()/2;
//            int top = hei / 2 - bitmap.getHeight()/2;
//            int bottum = hei / 2 + bitmap.getHeight()/2;int left = 0;int right = width;int top = 0;int bottum = hei;Rect msgRect = new Rect(left,top,right,bottum);canvas.drawBitmap(bitmap,null,msgRect,paint);isFirst = false;}canvas.drawPath(doodlePath,paint);}public void clear() {isFirst = true;doodlePath.reset();invalidate();}@Overridepublic boolean onTouchEvent(MotionEvent event) {xPosition = event.getX();yPosition = event.getY();switch (event.getAction()){case MotionEvent.ACTION_DOWN:doodlePath.moveTo(xPosition,yPosition);break;case MotionEvent.ACTION_MOVE:doodlePath.lineTo(xPosition,yPosition);break;}invalidate();return true;}public void setBitmap(Bitmap bitmap){this.bitmap = bitmap;invalidate();}@Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) {super.onSizeChanged(w, h, oldw, oldh);this.width = w;this.hei = h;}
}

android简单的自定义涂鸦控件相关推荐

  1. android绘制view的撤销,DrawingView android 上的一个涂鸦控件。可以设置画笔的粗细,颜色,撤销上一笔涂鸦,提供保存图片的接口。 @codeKK Android开源站...

    DrawingView 的原型来自DrawingView-Android,是 android 的一个可涂鸦控件. 之所以做这个控件是因为前段时间写了一个截图应用需要用到涂鸦功能,现在把涂鸦的控件单独拿 ...

  2. Android 手机卫士--自定义组合控件构件布局结构

    由于设置中心条目中的布局都很类似,所以可以考虑使用自定义组合控件来简化实现 本文地址:http://www.cnblogs.com/wuyudong/p/5909043.html,转载请注明源地址. ...

  3. Android中通过自定义签名控件实现手写签名

    场景 实现手写签名并获取签名照片 注: 博客: BADAO_LIUMANG_QIZHI的博客_霸道流氓气质_CSDN博客-C#,SpringBoot,架构之路领域博主 关注公众号 霸道的程序猿 获取编 ...

  4. android shape 无边框颜色,Android 使用shape定义不同控件的的颜色、背景色、边框色...

    Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...

  5. (八)ASP.NET自定义用户控件(1)

    http://blog.csdn.net/laodao1/article/details/5897366 ASP.NET自定义控件组件开发 第一章:从一个简单的控件谈起 起始开发ASP.NET自定义控 ...

  6. Android View体系(十)自定义组合控件

    相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源 ...

  7. Android 自定义组合控件小结

    Android 自定义组合控件小结 引言 接触Android UI开发的这段时间以来,对自定义组合控件有了一定的了解,为此小结一下,本文小结内容主要讨论的是如何使用Android SDK提供的布局和控 ...

  8. Android Studio自定义组合控件

    在Android的开发中,为了能够服用代码,会把有一定共有特点的控件组合在一起定义成一个自定义组合控件.  本文就详细讲述这一过程.虽然这样的View的组合有一个粒度的问题.粒度太大了无法复用,粒度太 ...

  9. Android插件化开发指南——实践之仿酷狗音乐首页(自定义ImageView控件)

    文章目录 1. 前言 2. 基础环境--实现RecyclerView的网格布局 3. 自定义ImageView 3. 后记 1. 前言 拟定实现效果部分为下图的歌单列表部分,也就是图中红线框出来的部分 ...

最新文章

  1. 做为 iOS 开发者 现在对未来迷茫怎么办?
  2. python爬虫能干啥-Python爬虫还能干什么?
  3. Java开发工具和环境,你了解多少?(二)
  4. kafka同一个group 消费两个topic吗_MQ: 一张图读懂kafka工作原理
  5. VTK:相互作用之SelectAVertex
  6. java序列化_Java序列化详解
  7. .NET Core完成向RyuJIT的迁移
  8. Objective-C马路成魔【14-关键C语言功能】
  9. LeetCode 77 组合
  10. vue 源码 断点调试
  11. 简单的Jquery焦点图切换效果
  12. MySQL二进制部署
  13. 安卓插件化开发!移动开发程序员怎么优雅迈过30K+这道坎?全网最新
  14. CUDA实例系列四:利用GPU加速Sobel边缘检测(含源码)
  15. Python控制仪器【2 ,控制矢量网络分析仪】
  16. 购买地铁车票的规定如下: 乘1-4站,3元/位;乘5-9站,4元/位; 乘9站以上,5元/位。 输入乘坐人数(per_num)和乘坐站数(sta_num), 计算购买地铁车票需要的总金额,并将计算结果
  17. 《北京遇上西雅图之不二情书》
  18. 原生Js弹窗插件|web弹出层组件|对话框
  19. IDEA必装插件-Gyro
  20. 全国大学的戏精,都在论文致谢里了

热门文章

  1. [渝粤教育] 广东-国家-开放大学 21秋期末考试建筑工程计量与计价10517k1
  2. 微信小程序在线成语接龙答题有奖1.5.1版源码
  3. 归因分析笔记13 特征重要度正确性的验证
  4. 航程门业:如何选购实木复合门及如何保养
  5. bartender打印错误
  6. H5满屏彩色泡泡小特效(适合表白哦~做完发给让你每天想念的人吧~)
  7. AutoCAD Civil 3D 介绍
  8. Apple Configurator 2使用教程: 修复或恢复搭载 Apple M1芯片的 Mac!
  9. CVPR 2022|上海交大腾讯优图提出IFRNet:视频插帧新范式新SOTA
  10. Wechaty 李卓桓:我想要某种功能,你没有?那我来一个