Daguerre Android 图像视频选择器

3,364 阅读2分钟

现在的 App 都会有选取图片的需求,部分还会有选取视频的需求,现在用 Daguerre 就可以实现图片、视频、图片+视频的选取。让我们来看看 Daguerre 支持库长什么样子吧:

选取 目录 预览

Daguerre完全开源 Github

示例

Daguerre的使用很简单,只需要在调用的时候传入相应的参数,即可打开Daguerre的选取界面;上示例:

Daguerre.with(this)
        .theme(R.style.CustomTheme)
        .spanCount(3)
        .maxSelectable(3)
        .mimeType(MimeType.IMAGE, MimeType.JPEG)
        .setImageLoader(new ImageLoader())
        .launch(REQUEST_CODE);

通过上面的代码,我们就可以猜测到有哪些功能:

  • 定制主题
  • 设置列表列数
  • 设置最大选择数
  • 支持的资源格式定义 (Daguerre已经内置了常用的格式,开发者也可以自己定义传递)
  • 完全自定义的图片加载 (Daguerre并不内置图片加载器,只提供了接口,开发者需要自己实现) PS:目前不能自定义Fresco图片的加载方式

原理

Daguerre采用的是 Loader 来获取本地图片或视频资源,选取时采用了 ActionMode 并通过对 ActionMode 更改标题的方式显示当前选择的数量,并采取设置 action menu 给 ActionMode 的方式提供确认选取的操作。展示图片列表的控件当然是 RecyclerView,而查看图片大图的预览界面也是采用RecyclerView来实现类似ViewPager效果

定制

Daguerre界面效果完全可以利用 Activity Theme 的定制来实现自己的需求,Daguerre 也自定义了几个主题attr属性,方便在无需修改源码的情况实现样式的基本定制,具体参考 Github

Daguerre简单易用,相信能满足你对图片或视频选择的基本需求。Daguerre 已经在 Github 开源,欢迎大家 issue,fork ,也可在本文留言提出需求。欢迎各大神 commit request