Android画板(三):WhiteBoard画板开源库
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画板开源库相关推荐
- Android 主题换肤的开源库
Android 主题换肤的开源库(插件化换肤) 新增夜间模式的简洁实现方式,不需要再去单独创建一个皮肤包(目前处于beta版本) 夜间模式实现方式 前提条件还是每个使用到的资源必须是引用的,不能是具体 ...
- android导入库项目,如何在android studio项目中导入开源库?
导入Jar文件 这种可能很常见,可以下载到别人搞好的jar包,这样可以直接在自己的主module下创建libs文件夹(我这里这样,只是为了兼容eclipse方式),然后把jar文件放进去,然后在mod ...
- Android好用的第三方开源库
记录一些对工作学习有帮助的第三方开源库 快捷入口 音频类 AudioPlay Banner类 banner 流式布局 FlowLayout 网络请求框架 RxEasyHttp okhttp-RxHtt ...
- android 生成 资源文件,SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具...
Vector矢量图在Android项目中的利用愈来愈广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...
- 一款Android图片预览的开源库,几乎百分百还原微信的图片预览。
图片预览组件PreviewPictureView gihub地址:https://github.com/OneZeroYang/PreviewPictureView 几乎还原微信的图片预览,核心使用共 ...
- 高通linux系统交叉编译,【Linux】第三章 移植开源库
在开始移植前,默认已经下载好库文件并解压好 移植三部曲: ./configuer : 配置参数 make : 编译 make install : 安装 configure 配置参数说名 1 说明 在l ...
- android 图片缩放,github开源库,PhotoView 使用
1.PhotoView,使用介绍: 支持捏合,点击放大缩小.支持在ViewPager中翻页预览图片. 2.开发集成步骤: 1)首先,在github下载源码包 连接地址:https://github.c ...
- Android开源项目以及开源库集合(持续更新中)
UI Awesome-MaterialDesign – MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库. awesome-andr ...
- Android开源库总结
自己总结的Android开源项目及库. github排名https://github.com/trending, github搜索:https://github.com/search UI Aweso ...
- 各种Android UI开源框架 开源库
各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...
最新文章
- Mysql存储引擎MyIsAM和InnoDB区别
- 如何解决ALV的负数符号前显的问题
- MySQL MHA 安装
- 有关Struts2a的ction直接使用response异步问题
- CentOS+lighttpd+php+mysql (fastcgi)环境的搭建(转)
- android 图片编辑 画圈,Android种图片圆形化的三种方式
- STL容器 之 list
- QQ空间自动评论自动转发 微博自动自动转发神器带源码(超简单) 升级版
- Lingo基本使用方法
- 计算机公式计算误差,如何在Excel2016中计算方差和均方误差?
- 那些年你不能错过的之【Linux操作】
- 微信小程序入门--注册账号
- 修改Ceph 监视器地址
- 原创 牛客网产品笔试题刷题打卡——需求分析/数据分析/文档攥写
- 元素出栈入栈顺序是否合法
- 矩阵小朋友,真是拿你没有办法
- Subsurface Scatting 的简单模拟
- Swift 第三方库整理
- php删除管理员,WordPress 移除管理员后台添加用户权限
- ]许多代码段,没准儿有你需要的 C++ Builder
热门文章
- 英伟达驱动更新记录_英伟达GeForce显卡驱动411.63版更新内容
- unity 控制人物模型移动
- 关于Retinex理论的一些理解
- html如何格式化时间,js 日期时间的格式化
- 自学考试java语言程序设计_自考java 04747《Java语言程序设计(一)》教材电子版...
- 绘图板应用讲解计算机,计算机绘图应用教程——caxa电子图板xp.pptx
- aop切面重复调用两次controller
- C语言运算符优先级列表(超详细)
- Warshall算法求传递闭包
- beyond 注册表删除