Android MarkDownView中显示gif图片
来源:互联网 发布:淘宝卖什么吃的赚钱 编辑:程序博客网 时间:2024/05/16 13:47
MarkedView(这个控件搜一下 找不到联系我。支持在Android中显示MarkDown语法的控件)中只能加载sd卡中的图片,所以要把资源文件下的图片文件通过代码的方式拷贝到sd卡中。
下面是完整代码:
/** * 需要存储在sd卡中的文件类型 */ private static final String[] imageType = {"gif", "jpg", "png"}; private static final String markDownPath = "markDown";
/** * 将assests文件夹下的文件根据文件类型{@link #imageType} 存储到sd卡中 * * @param context */ public static void copyFileFromAssToSd(Context context) { for (int i = 0; i < imageType.length; i++) { getAllResInAssests(context, imageType[i]); } }
/** * 获取assests下的所有资源文件 * 如果文件类型是文件 将会把此文件拷贝到sd卡中 * * @param context 上下文 * @param assestsDir assets文件夹下的子文件夹 */ public static void getAllResInAssests(Context context, String assestsDir) { AssetManager assetManager = context.getAssets(); try { //遍历path文件夹下的所有文件 String[] files = assetManager.list(assestsDir); for (int i = 0; i < files.length; i++) { String fileName = files[i]; //如果是文件 if (fileName.contains(".")) { copyToSD(context, fileName, assestsDir); } } } catch (IOException e) { e.printStackTrace(); } }
/** * 说明:此方法用于将assests文件夹下的gif或者其他资源文件保存到sd卡。 * * @param context 上下文对象 * @param fileName 资源文件id 文件名 eg:share.gif * @param assestsDir 资源文件所在文件夹 eg:gif */ public static void copyToSD(Context context, String fileName, String assestsDir) { File file; InputStream is = null; FileOutputStream fos = null; try { String path = context.getExternalCacheDir().getPath(); //文件在sd卡中的存储路径 path = path +"/"+ markDownPath; //文件在sd卡中存储的路径及名称 String dbPathAndName = path + "/" + fileName; file = new File(path); if (file.exists() == false) { file.mkdir(); } File dbFile = new File(dbPathAndName); if (!dbFile.exists()) { //根据asestsDir文件夹下的文件 获得输入流 is = context.getAssets().open(assestsDir + "/" + fileName); fos = new FileOutputStream(dbFile); byte[] buffer = new byte[8 * 1024];// 8K while (is.read(buffer) > 0) { fos.write(buffer); } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (is != null) { is.close(); } if (fos != null) { fos.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
将assest下的文件拷贝到sd卡中得调用方式
ShowImageInMarkDownUtils.copyFileFromAssToSd(this);
删除sd卡中存在但是assest下不存在的文件的调用方式
ShowImageInMarkDownUtils.deleteUnuseableInSdcard(this);
我们做这个markView只是平时用来代码说明用。
效果图:
阅读全文
0 0
- Android MarkDownView中显示gif图片
- Android中显示gif图片
- Android中Gif图片的显示
- android中使用imageview显示Gif图片
- Android中Gif图片的显示
- Android中动态显示gif图片
- android中使用imageview显示Gif图片
- Android中轻松显示Gif图片
- Android中显示gif动态图片
- android中如何显示Gif图片
- Android中轻松显示Gif图片
- Android中轻松显示Gif图片
- 在Android中显示gif图片
- Android中显示gif动态图片
- Android中如何显示gif图片
- 在Android中全屏显示GIF图片
- android 显示gif图片
- android显示gif图片
- Promise对象的含义和基本用法
- Android硬编码——音频编码、视频编码及音视频混合
- 第七次项目3实验
- 新网域名添加AAAA记录
- probelm D 大数+组合dp
- Android MarkDownView中显示gif图片
- JVM源码分析之一个Java进程究竟能创建多少线程
- Keras以及Tensorflow强制使用CPU
- ffmpeg实战教程(十二)为视频添加/更换背景音乐
- MYSQL索引优化: IN 和 OR 替换为 union all
- 运放参数及选型表
- 哈希表(亦称散列表)HashMap源码读后感,实现原理剖析
- Android Notification常见样式总结
- java 内存