笔迹动画的存与取--另类的特效动画
来源:互联网 发布:艾腾软件招聘 编辑:程序博客网 时间:2024/05/01 09:21
上一篇文章Path动画--书写文字的动画实现介绍了一些笔迹动画的一个思路:记录笔尖经过的每一个点坐标然后那这些点重新拼接成path一步一步绘制,达到一个让手机自动绘制出我们想要的图形效果,这个是把路径的信息放在内存中了现在做一个持久层的实现。
先看下效果,上一把我们是手指画出字来再让手机画的,现在这个是手机自动绘制出我们的文字,当然了这个绘制文字的资源我们要事先准备好。
说说原理:这里涉及到Android的数据存储,常用的5种方法我就不赘述了,这里选择最简单的保存到文件。
先看下一个关键的工具类:
/** * Created by Wood on 2015/2/8. */public class PathHelper { public static void writePath( ArrayList<ArrayList<PathPoint>> path,String filaName){ OutputStream out= null; try { out = new FileOutputStream(new File(Environment.getExternalStorageDirectory(),filaName)); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(path); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } Log.i("info","保存成功"); } public static ArrayList<ArrayList<PathPoint>> read(int rawId,Context context){ InputStream is = context.getResources().openRawResource(rawId); ArrayList<ArrayList<PathPoint>> lines=null; try { ObjectInputStream ois = new ObjectInputStream(is); lines = (ArrayList<ArrayList<PathPoint>>) ois.readObject(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } Log.i("info","读取成功"); return lines; }}
使用了对象输入输出流,注意我们自己封装的PathPoint需要实现Serializable并且不能是个内部类。
至于绘制path的方法参看上一把那个文章。保存得到的文件放到工程的raw资源目录,通过这个工具类将其输入内存,绘制。
仅当一个Android玩法介绍,如果启发了你的某些思路,请给我一个yes。
1 0
- 笔迹动画的存与取--另类的特效动画
- JQuery的动画与特效
- UIView的动画特效
- css3的动画特效
- Android动画特效的实现
- Android 动画特效的运用
- Android的四个动画特效
- jQuery-动画与特效
- jQuery动画与特效
- jQuery动画与特效
- 原生JavaScript中动画与特效的实现原理
- CSS3动画效果:如何创建带有反弹特效的动画?
- Android动画之旅(六)----放大镜的特效动画
- Extjs动画特效的一些参数(一)
- 动画特效的应用----ViewSwitcher控件
- WPF的简单关闭动画特效
- cocos2dx 动画常见的22种特效
- cocos2dx 动画常见的22种特效
- 组合模式的详解
- java分布式事务1—— spring + JTA + jotm
- IOS之OC哪些Funtion
- STL(简介模板库)
- How To Ask Questions The Smart Way
- 笔迹动画的存与取--另类的特效动画
- git 忽略已经跟踪的文或目录
- iOS 8 WebKit框架概览 Link
- Volley 源码解析
- xml基本概念
- Linux内核模块中的数组引起的问题.
- 学习andriod开发之 异步加载图片--- 使用系统进度条
- SD卡之SPI
- Qt4过渡至Qt5