LPick-图片选择器

作者: 奋斗的Leo | 来源:发表于2016-11-03 14:48 被阅读600次

    图片选择器 github地址

    效果图

    lpick.gif
    感谢

    这个项目是基于RxGalleryFinal的二次开发,使用到的开源项目如下:

    用法如下:
    //开启选择图库
    LPick.getInstance()
              .withPickCount(5) //最多选择图片
              .withSpanCount(4) //配置列数
              .pick(this,REQUEST_CODE);
    //开启裁剪
     LPick.getInstance()
              .useSourceImageAspectRatio()
              .crop(PickImgSimpleActivity.this,Uri.fromFile(new File(model.mImgPath)),createUriSave());
    
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK)
        {
            //获取选择的图片
            mPickModelList = data.getParcelableArrayListExtra(Constances.PICK_SOUCRE_KEY);
            mAdapter.notifyDataSetChanged();
        }else if (resultCode == RESULT_OK && requestCode == LPick.REQUEST_CROP)
        {
            //获取裁剪结果
            Uri output = LPick.getOutput(data);
            Logger.d("裁剪结果:" + output.getPath());
        }
    }
    
    相关知识

    现在成熟好用的图片选择器项目很多,为什么我要重复造轮子呢?因为Google提供了很多好用的工具类,没找的合适的项目来实践下,所有就想着写个图片选择器,把较新的知识用上。

    • DiffUtil是Google提供的一个数据比较工具类
    • Rxjava就不用说了,非常好用。灵活使用操作符,可以让代码显得更优雅
      ......

    重要

    关于图片的压缩,因为没有相关的知识,所有都是按不超过最大尺寸,等比例缩放来压缩图片。如果有好建议,请提issues,谢谢

    //裁剪载入最大尺寸
    public final static int MAX_CROP_SIZE = 1500;
    //裁剪输出最大尺寸
    public final static int MAX_RESULT_SIZE = 1000;
    //小图最大尺寸
    public final static int MAX_THUMB_SIZE = 300;
    //大图最大尺寸
    public final static int MAX_BIG_SIZE = 800;
    

    这个很完善的项目,如果用在项目上,可以试试这个TelegramGallery

    项目还在更新中...

    相关文章

      网友评论

        本文标题:LPick-图片选择器

        本文链接:https://www.haomeiwen.com/subject/jkabuttx.html