SketchBoard项目简介

SketchBoard是一个可涂鸦、绘图、添加文字、图像(可旋转缩放)、背景的Fragment,其中主要由SketchView利用matrix完成所有图形绘制操作。

tips:图像旋转缩放高仿美图APP的操作方式
tips: 感谢?绮怀先生对图片选取功能的代码贡献

一、效果演示

1.1 画笔演示.gif

画笔演示.gif

1.2 图像操作演示.gif

图像操作演示.gif

1.3 画板切换演示.gif

画板切换演示.gif

二、使用说明

2.1 已上传Bintray,build.gradle加入即可:

compile 'com.yinghe:whiteboardlib:1.0.9'

2.2 在activity中直接使用:

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取Fragment管理器FragmentTransaction ts = getSupportFragmentManager().beginTransaction();//获取WhiteBoardFragment实例WhiteBoardFragment  whiteBoardFragment = WhiteBoardFragment.newInstance();//添加到界面中ts.add(R.id.fl_main, whiteBoardFragment, "wb").commit();}

2.3 WhiteBoardFragment的API说明:

     /*** show 默认新建一个学生端功能* @author TangentLu* create at 16/6/17 上午9:59*/public static WhiteBoardFragment newInstance() {}/*** show 新建一个教师端的画板碎片,有推送按钮* @param callback 推送按钮监听器,接受返回的图片文件路径可用于显示文件* @author TangentLu* create at 16/6/17 上午9:57*/public static WhiteBoardFragment newInstance(SendBtnCallback callback) {}/*** @param imgPath 添加的背景图片文件路径* @author TangentLu* create at 16/6/21 下午3:39* show 设置当前白板的背景图片*/public void setCurBackgroundByPath(String imgPath) {}/*** show  新增白板并设置白板的背景图片* @param imgPath 添加的背景图片文件路径* @author TangentLu* create at 16/6/21 下午3:39*/public void setNewBackgroundByPath(String imgPath) {}/*** show 新增图片到当前白板* @param imgPath 新增的图片路径* @author TangentLu* create at 16/6/21 下午3:42*/public void addPhotoByPath(String imgPath) {}/*** show 获取当前白板的BitMap* @author TangentLu* create at 16/6/21 下午3:44*/public Bitmap getResultBitmap() {}/*** show 手动保存当前画板到文件,耗时操作** @param filePath 保存的文件路径* @param imgName  保存的文件名* @return 返回保存后的文件路径* @author TangentLu* create at 16/6/21 下午3:46*/public File saveInOI(String filePath, String imgName) {}

三、技术博客

主要技术难点可参考以下技术博客:

Android画板(一):软键盘遮挡输入焦点的完美解决方案

Android画板(二):Matrix实现美图APP的旋转缩放

Android画板(三):WhiteBoard画板开源库相关推荐

  1. Android 主题换肤的开源库

    Android 主题换肤的开源库(插件化换肤) 新增夜间模式的简洁实现方式,不需要再去单独创建一个皮肤包(目前处于beta版本) 夜间模式实现方式 前提条件还是每个使用到的资源必须是引用的,不能是具体 ...

  2. android导入库项目,如何在android studio项目中导入开源库?

    导入Jar文件 这种可能很常见,可以下载到别人搞好的jar包,这样可以直接在自己的主module下创建libs文件夹(我这里这样,只是为了兼容eclipse方式),然后把jar文件放进去,然后在mod ...

  3. Android好用的第三方开源库

    记录一些对工作学习有帮助的第三方开源库 快捷入口 音频类 AudioPlay Banner类 banner 流式布局 FlowLayout 网络请求框架 RxEasyHttp okhttp-RxHtt ...

  4. android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...

    Vector矢量图在Android项目中的利用愈来愈广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...

  5. 一款Android图片预览的开源库,几乎百分百还原微信的图片预览。

    图片预览组件PreviewPictureView gihub地址:https://github.com/OneZeroYang/PreviewPictureView 几乎还原微信的图片预览,核心使用共 ...

  6. 高通linux系统交叉编译,【Linux】第三章 移植开源库

    在开始移植前,默认已经下载好库文件并解压好 移植三部曲: ./configuer : 配置参数 make : 编译 make install : 安装 configure 配置参数说名 1 说明 在l ...

  7. android 图片缩放,github开源库,PhotoView 使用

    1.PhotoView,使用介绍: 支持捏合,点击放大缩小.支持在ViewPager中翻页预览图片. 2.开发集成步骤: 1)首先,在github下载源码包 连接地址:https://github.c ...

  8. Android开源项目以及开源库集合(持续更新中)

    UI Awesome-MaterialDesign – MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库. awesome-andr ...

  9. Android开源库总结

    自己总结的Android开源项目及库. github排名https://github.com/trending, github搜索:https://github.com/search UI Aweso ...

  10. 各种Android UI开源框架 开源库

    各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...

最新文章

  1. Mysql存储引擎MyIsAM和InnoDB区别
  2. 如何解决ALV的负数符号前显的问题
  3. MySQL MHA 安装
  4. 有关Struts2a的ction直接使用response异步问题
  5. CentOS+lighttpd+php+mysql (fastcgi)环境的搭建(转)
  6. android 图片编辑 画圈,Android种图片圆形化的三种方式
  7. STL容器 之 list
  8. QQ空间自动评论自动转发 微博自动自动转发神器带源码(超简单) 升级版
  9. Lingo基本使用方法
  10. 计算机公式计算误差,如何在Excel2016中计算方差和均方误差?
  11. 那些年你不能错过的之【Linux操作】
  12. 微信小程序入门--注册账号
  13. 修改Ceph 监视器地址
  14. 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写
  15. 元素出栈入栈顺序是否合法
  16. 矩阵小朋友,真是拿你没有办法
  17. Subsurface Scatting 的简单模拟
  18. Swift 第三方库整理
  19. php删除管理员,WordPress 移除管理员后台添加用户权限
  20. ]许多代码段,没准儿有你需要的 C++ Builder

热门文章

  1. 英伟达驱动更新记录_英伟达GeForce显卡驱动411.63版更新内容
  2. unity 控制人物模型移动
  3. 关于Retinex理论的一些理解
  4. html如何格式化时间,js 日期时间的格式化
  5. 自学考试java语言程序设计_自考java 04747《Java语言程序设计(一)》教材电子版...
  6. 绘图板应用讲解计算机,计算机绘图应用教程——caxa电子图板xp.pptx
  7. aop切面重复调用两次controller
  8. C语言运算符优先级列表(超详细)
  9. Warshall算法求传递闭包
  10. beyond 注册表删除