A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

DEMO一共13个类 大约2000行代码,童鞋们耐心点看基本思路是:
1,首先从Thumbnails中把略缩图地址拿出来用GridView显示出来
2,如果没有该略缩图就找到原图地址在线程中生成略缩图然后再显示出来(这种情况非常容易发生,现在很多人喜欢删除系统Thumbnails文件夹,导致无系统略缩图可用,代码里面大量生成略缩图又是个非常耗费资源的过程,且容易造成内存溢出)
3,如果原图地址也没有则自定义显示一张图
主要实现了 进入相册多选图 或者 照相获取图片 (图片已压缩) 选择好图片后 可以左右滑动浏览大图,自由删除图片
选择相册图片或者拍照限制为9张,选择好的图片都保存在缓存中,同时保存在sd临时文件夹,图片都是小于100kb失真度较小,自己可以折中选择一个合适的值
回复即可免费下载,代码托管在华为网盘,所以下载是不需要豆子的
图片都是代码运行后的截图  测试用三星s4  not3(三星系列因为硬件问题拍照后图片需要代码设置翻转90度,不然图片会变横着)
华为p1 LG ne5测试过均没有问题
选择好图片后,安卓4.4的版本因为虚拟按钮的原因会盖住最下方的完成按钮,自己可以修改下布局.



转载自安卓巴士




附上图片:


               





源码: TestPics.rar (3.84 MB, 下载次数: 52691)


65 个回复

倒序浏览
Android仿微信朋友圈发动态功能(相册图片多选) 这个帖子 中的demo我试了 也看了下思路 有个问题  就是拍照后的图片不能显示 在log中看没有走到onActivityResult中 但是没看出来为什么  求解
回复 举报
{:3_51:}仿朋友圈都有了,什么时候会在论坛看到仿卡牌游戏的呢
回复 举报
哈哈哈哈
回复 举报
:):):):):):):)
回复 举报
谢谢分享
回复 举报
away 初级黑马 2015-3-17 10:43:29
7#
free26 发表于 2014-12-24 13:11
Android仿微信朋友圈发动态功能(相册图片多选) 这个帖子 中的demo我试了 也看了下思路 有个问题  就是拍 ...

楼主做出来没有?
回复 举报
Staray 初级黑马 2015-4-28 17:22:55
8#
away 发表于 2015-3-17 10:43
楼主做出来没有?

这个问题是因为sd卡里面没有那个存储照相的文件夹,需要自己改一下:
PublishedActivity.java文件里面的photo()方法:

  1. public void photo() {
  2.         Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  3.         openCameraIntent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);

  4.         StringBuffer sDir = new StringBuffer();
  5.         if (hasSDcard()) {
  6.             sDir.append(Environment.getExternalStorageDirectory() + "/MyPicture/");
  7.         } else {
  8.             String dataPath = Environment.getRootDirectory().getPath();
  9.             sDir.append(dataPath + "/MyPicture/");
  10.         }

  11.         File fileDir = new File(sDir.toString());
  12.         if (!fileDir.exists()) {
  13.             fileDir.mkdirs();
  14.         }
  15.         File file = new File(fileDir, String.valueOf(System.currentTimeMillis()) + ".jpg");

  16.         path = file.getPath();
  17.         Uri imageUri = Uri.fromFile(file);
  18.         openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
  19.         startActivityForResult(openCameraIntent, TAKE_PICTURE);
  20.     }

  21.     public static boolean hasSDcard() {
  22.         String status = Environment.getExternalStorageState();
  23.         if (status.equals(Environment.MEDIA_MOUNTED)) {
  24.             return true;
  25.         } else {
  26.             return false;
  27.         }
  28.     }
复制代码


代码很简单,就不用注释了。
回复 举报
代码怎么和图片不对应啊
回复 举报
上传的代码有吗,楼主。:loveliness:
回复 举报
谢谢楼主
回复 举报
很好,很强大
回复 举报
很好,很强大的
回复 举报
dingdingding
回复 举报
dingdingding
回复 举报
huiofu kankan  
回复 举报
请教一下,怎么让他可以显示视频文件,并且可以选择
回复 举报
在最后发送完的时候.数据没有进行删除是怎么回事?我看楼主调用了那个detele删除的方法,但是不管用貌似.求解决方案..
回复 举报
你好在吗?Android仿微信朋友圈发动态功能,这个最后再发送完毕后,调用的detele方法,貌似没起到作用,并且如果后退的话,数据依然还在.我调用了detele,不起作用,
回复 举报 1 0
看看,正需要
回复 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马