Android 仿釘釘、微信 群聊組合頭像

SheHuan發表於2018-06-27
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像
Android 仿釘釘、微信 群聊組合頭像

功能

  • 生成類似釘釘、微信 群聊組合頭像Bitmap
  • 可使用圖片資源id、bitmap或者使用url從網路載入,傳入對應陣列即可
  • 網路載入時支援執行緒池
  • 支援磁碟快取、記憶體快取。(記得申請磁碟快取需要的檔案儲存許可權
  • 對圖片資源進行取樣率壓縮
  • 支援子影象的點選事件
  • ......

基本用法

Step 1. 新增JitPack倉庫 在專案根目錄下的 build.gradle 中新增倉庫:

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}
複製程式碼

Step 2. 新增專案依賴

dependencies {
    implementation 'com.github.Othershe:CombineBitmap:1.0.5'
}
複製程式碼

Step 3. 配置

CombineBitmap.init(context)
    .setLayoutManager() // 必選, 設定圖片的組合形式,支援WechatLayoutManager、DingLayoutManager
    .setSize() // 必選,組合後Bitmap的尺寸,單位dp
    .setGap() // 單個圖片之間的距離,單位dp,預設0dp
    .setGapColor() // 單個圖片間距的顏色,預設白色
    .setPlaceholder() // 單個圖片載入失敗的預設顯示圖片
    .setUrls() // 要載入的圖片url陣列
    .setBitmaps() // 要載入的圖片bitmap陣列
    .setResourceIds() // 要載入的圖片資源id陣列
    .setImageView() // 直接設定要顯示圖片的ImageView
    // 設定“子圖片”的點選事件,需使用setImageView(),index和圖片資源陣列的索引對應
    .setOnSubItemClickListener(new OnSubItemClickListener() {
        @Override
        public void onSubItemClick(int index) {

        }
    })
    // 載入進度的回撥函式,如果不使用setImageView()方法,可在onComplete()完成最終圖片的顯示
    .setProgressListener(new ProgressListener() {
        @Override
        public void onStart() {

        }

        @Override
        public void onComplete(Bitmap bitmap) {

        }
    })
    .build();
複製程式碼

由於生成的組合Bitmap是矩形的,要實現釘釘的圓形顯示效果,這裡用到了一個可圓形顯示的ImageView控制元件:NiceImageView

更多細節見GitHub:github.com/Othershe/Co…

相關文章