Ejemplo n.º 1
0
 @Override
 public void onBindViewHolder(FolderViewHolder holder, int position) {
   final Floder item = mDirPaths.get(position);
   loader.displayImage("file://" + item.getFirstImagePath(), holder.iv_dir, options);
   //
   // hanks.com.mylibrary.util.ImageLoader.getInstance().loadImage(item.getFirstImagePath(),holder.iv_dir);
   holder.tv_dirname.setText(item.name + " (" + item.images.size() + "张) ");
   holder.ll_root.setSelected(currentImageFolder == item);
   holder.itemView.setOnClickListener(
       new View.OnClickListener() {
         @Override
         public void onClick(View v) {
           resetDirList(item);
         }
       });
 }
Ejemplo n.º 2
0
  /** 得到缩略图 */
  private void getThumbnail() {
    /** 临时的辅助类,用于防止同一个文件夹的多次扫描 */
    HashMap<String, Integer> tmpDir = new HashMap<String, Integer>();

    Cursor mCursor =
        getContentResolver()
            .query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                new String[] {MediaStore.Images.ImageColumns.DATA},
                "",
                null,
                MediaStore.MediaColumns.DATE_ADDED + " DESC");
    Log.e("TAG", mCursor.getCount() + "");
    if (mCursor.moveToFirst()) {
      do {
        // 获取图片的路径
        String path = mCursor.getString(0);
        Log.e("TAG", path);
        imageAll.images.add(new ImageItem(path));
        // 获取该图片的父路径名
        File parentFile = new File(path).getParentFile();
        if (parentFile == null) {
          continue;
        }
        Floder imageFloder = null;
        String dirPath = parentFile.getAbsolutePath();
        if (!tmpDir.containsKey(dirPath)) {
          // 初始化imageFloder
          imageFloder = new Floder();
          imageFloder.setDir(dirPath);
          imageFloder.setFirstImagePath(path);
          mDirPaths.add(imageFloder);
          Log.d("zyh", dirPath + "," + path);
          tmpDir.put(dirPath, mDirPaths.indexOf(imageFloder));
        } else {
          imageFloder = mDirPaths.get(tmpDir.get(dirPath));
        }
        imageFloder.images.add(new ImageItem(path));
      } while (mCursor.moveToNext());
    }
    mCursor.close();
    for (int i = 0; i < mDirPaths.size(); i++) {
      Floder f = mDirPaths.get(i);
      Log.d("zyh", i + "-----" + f.getName() + "---" + f.images.size());
    }
    tmpDir = null;
  }
Ejemplo n.º 3
0
  private void initViews() {
    loader = ImageLoader.getInstance();
    options =
        new DisplayImageOptions.Builder()
            .showImageOnLoading(R.drawable.default_image)
            .showImageForEmptyUri(R.drawable.default_image)
            .showImageOnFail(R.drawable.default_image)
            .cacheInMemory(true)
            .cacheOnDisk(true)
            .considerExifParams(true)
            .imageScaleType(ImageScaleType.EXACTLY)
            .bitmapConfig(Bitmap.Config.RGB_565)
            .build();

    imageAll = new Floder();
    imageAll.setDir("/所有图片");
    currentImageFolder = imageAll;
    mDirPaths.add(imageAll);
    getThumbnail();
  }