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

功能

  • 生成相似釘釘、微信 羣聊組合頭像Bitmap
  • 可以使用圖片資源id、bitmap或者使用url從網絡加載,傳入對應數組便可
  • 網絡加載時支持線程池
  • 支持磁盤緩存、內存緩存。(記得申請磁盤緩存須要的文件存儲權限
  • 對圖片資源進行採樣率壓縮
  • 支持子圖像的點擊事件
  • ......

基本用法

Step 1. 添加JitPack倉庫 在項目根目錄下的 build.gradle 中添加倉庫:java

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

Step 2. 添加項目依賴git

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

Step 3. 配置github

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…緩存

相關文章
相關標籤/搜索