当前位置:主页 > 移动开发 > Android代码 >

Android 仿微信图像拍摄和选择界面功能(代码分享)

时间:2020-10-04 14:43:56 | 栏目:Android代码 | 点击:

 插件运行后的画面如下:

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

这里写图片描述

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

这里写图片描述

图片选择界面

这里写图片描述

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

这里写图片描述

首先我想说明的是这个插件默认是不进行图片筛选的,打开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<ImageItem>();
            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());
    }

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

这里写图片描述

您可能感兴趣的文章:

相关文章