Daguerre Android 影象視訊選擇器

QiuJay發表於2017-12-02

現在的 App 都會有選取圖片的需求,部分還會有選取視訊的需求,現在用 Daguerre 就可以實現圖片、視訊、圖片+視訊的選取。讓我們來看看 Daguerre 支援庫長什麼樣子吧:

選取 目錄 預覽
Daguerre Android 影象視訊選擇器
Daguerre Android 影象視訊選擇器
Daguerre Android 影象視訊選擇器

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

相關文章