当前位置: 首页 > news >正文

android相机拍摄时动画完成效果,Android 仿微信图像拍摄和选择界面功能(代码分享)...

插件运行后的画面如下:

下面这张图对图像进行筛选,根据照片产生的源头分(QQ和微信和相机)

c280eef0e08565fd70caaa7d26bf4b34.png

点击某文件夹后,可以查看该文件夹下包含的所有的图片

6f2fc5aa7b437a10eab77c837751b59a.png

图片选择界面

ccd1327d24f4b813a67d5204931f873d.png

选中后就跳到已经选择界面的窗口,并且可以对该吃图片上传进行简要的描述

fc0e6125b035485299a7430f5860d2c8.png

首先我想说明的是这个插件默认是不进行图片筛选的,打开app后会有几十个文件夹,但是个人认为开发中常用的图片基本都来自于QQ中拍摄的照片,微信中拍摄的照片,以及相机直接拍摄的照片,因此我对这个插件进行过滤以及文件夹名称的更改,具体做法,主要是对AlbumHelper类buildImagesBucketList方法中的do-while循环进行稍微修改

do {

String _id = cur.getString(photoIDIndex);

String name = cur.getString(photoNameIndex);

String path = cur.getString(photoPathIndex);

String title = cur.getString(photoTitleIndex);

String size = cur.getString(photoSizeIndex);

String bucketName = cur.getString(bucketDisplayNameIndex);

String bucketId = cur.getString(bucketIdIndex);

String picasaId = cur.getString(picasaIdIndex);

if (bucketName.equals("Camera") || bucketName.equals("WeiXin")) {

if (path.contains("storage/emulated/0")

&& bucketName.equals("Camera")) {

bucketName = "QQ";

}

if (path.contains("storage/emulated/0")

&& bucketName.equals("WeiXin")) {

bucketName = "微信";

}

if (!path.contains("storage/emulated/0")

&& bucketName.equals("Camera")) {

bucketName = "相机";

}

ImageBucket bucket = bucketList.get(bucketId);

if (bucket == null) {

bucket = new ImageBucket();

bucketList.put(bucketId, bucket);

bucket.imageList = new ArrayList();

bucket.bucketName = bucketName;

}

bucket.count++;

ImageItem imageItem = new ImageItem();

imageItem.imageId = _id;

imageItem.imagePath = path;

imageItem.thumbnailPath = thumbnailList.get(_id);

bucket.imageList.add(imageItem);

}

} while (cur.moveToNext());

}

默认这个插件图片选择界面的完成按钮只显示一半,因此要对布局界面做一个简单的修改

51c9505ffc898fc5d13d7edc4690f21c.png

以上所述是小编给大家介绍的Android 仿微信图像拍摄和选择界面功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2017-01-20

相关文章:

  • 安装android 模拟器 停止运行程序,才知道,原来修改程序后,不需要重新启动AVD模拟器就可以测试程序运行的!...
  • 修改sim卡号码 android,android 如何动态修改SIM卡应用名称 MT6572 MT6589
  • android studio sqliteopenhelper,android studio使用SQLiteOpenHelper()建立数据库的方法
  • 一加5android 系统耗电,一加5评测:可能是今年最好的Android旗舰
  • 在线html代码生成器,支持网页快速排版 CSS代码一键生成的在线设计工具
  • html文件如何放置web站点,如何使用Go Web服务器提供静态html文件?
  • asp.net mv4 controller 跳转 静态html,Asp.Net MVC系列--进阶篇之controller(1)
  • html星星连线特效代码,js实现飞入星星特效代码
  • html生成jsessionid,H5 APP 使用 JSESSIONID 保持会话登录
  • web项目html访问不了,JBoss7部署web工程,无法访问到html文件,但是jsp都可以正常访...
  • html中的div的,html – div中的div
  • html背景图去重,Python Django开发 经验技巧总结(二)
  • 把html代码渲染成pdf,将HTML渲染为PDF文件
  • 学计算机做近视眼手术,做完近视眼手术后多久可以看电脑
  • 运用计算机在课堂上的好处,CAI在计算机教育中的重要性
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 5、React组件事件详解
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java比较器对数组,集合排序
  • linux学习笔记
  • Node + FFmpeg 实现Canvas动画导出视频
  • SQLServer之索引简介
  • WePY 在小程序性能调优上做出的探究
  • 从零搭建Koa2 Server
  • 大主子表关联的性能优化方法
  • 经典排序算法及其 Java 实现
  • 每天10道Java面试题,跟我走,offer有!
  • 你真的知道 == 和 equals 的区别吗?
  • 微信小程序实战练习(仿五洲到家微信版)
  • 一些关于Rust在2019年的思考
  • 通过调用文摘列表API获取文摘
  • ​虚拟化系列介绍(十)
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (第27天)Oracle 数据泵转换分区表
  • (二)学习JVM —— 垃圾回收机制
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 常见的偏门问题
  • .netcore 获取appsettings
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .Net程序帮助文档制作
  • .net反混淆脱壳工具de4dot的使用
  • .NET分布式缓存Memcached从入门到实战
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET企业级应用架构设计系列之结尾篇
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @TableLogic注解说明,以及对增删改查的影响
  • @基于大模型的旅游路线推荐方案
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [CDOJ 1343] 卿学姐失恋了
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [codeforces]Checkpoints
  • [EFI]MSI GF63 Thin 9SCXR电脑 Hackintosh 黑苹果efi引导文件