Linjiajia
2023-04-04 a1d1fb7c44e33c4baeb52964a027932018bc1325
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.android.app_base.base.adapter;
 
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.util.Base64;
import android.widget.ImageView;
 
import androidx.databinding.BindingAdapter;
 
import com.android.app_base.utils.GlideUtil;
 
/**
 * @author Ljj
 * @date 2023.03.24. 17:09
 * @desc ImageView的 BindingAdapter
 */
public class ImageViewAdapter {
    @BindingAdapter({"imageUrl"})
    public static void loadUrlImage(ImageView imageView, String url) {
        GlideUtil.loadImage(url, imageView);
    }
    @BindingAdapter({"imageUri"})
    public static void loadUriImage(ImageView imageView, String uri) {
        imageView.setImageURI(Uri.parse(uri));
 
    }
    @BindingAdapter({"imageBase64"})
    public static void setBase64Image(ImageView imageView, String imageString) {
        if (imageString == null){
            return;
        }
        if (imageString.contains(",")){
            imageString = imageString.split(",")[1];
        }
        byte[] decodedString = Base64.decode(imageString, Base64.DEFAULT);
        Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        imageView.setImageBitmap(bitmap);
    }
}