package com.android.app_base.base.adapter.databinding;
|
|
import android.graphics.Bitmap;
|
import android.graphics.BitmapFactory;
|
import android.net.Uri;
|
import android.text.TextUtils;
|
import android.util.Base64;
|
import android.view.View;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import androidx.databinding.BindingAdapter;
|
import androidx.databinding.InverseBindingAdapter;
|
|
import com.android.app_base.base.BaseConfig;
|
import com.android.app_base.utils.GlideUtil;
|
|
import java.math.BigDecimal;
|
|
/**
|
* @author Ljj
|
* @date 2023.03.24. 17:09
|
* @desc ImageView的 BindingAdapter
|
*/
|
public class ImageViewAdapter {
|
@BindingAdapter({"imageUrl"})
|
public static void loadUrlImage(ImageView imageView, String url) {
|
if (TextUtils.isEmpty(url)) {
|
return;
|
}
|
if (url.contains("profile/upload")) {//如果是上传到服务器的图片
|
//只取profile/upload以后的部分
|
url = url.substring(url.indexOf("profile/upload"));
|
url = BaseConfig.BASE_URL_DOMAIN + "/" + url;
|
}
|
GlideUtil.loadImage(url, imageView);
|
}
|
@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);
|
}
|
|
|
@BindingAdapter(value = {"visibility_text","needPlaceholder"},requireAll = false)
|
public static void setVisibilityByText(ImageView imageView,String text,boolean needPlaceholder){
|
if (TextUtils.isEmpty(text)){
|
if (needPlaceholder){
|
imageView.setVisibility(View.INVISIBLE);
|
}else {
|
imageView.setVisibility(View.GONE);
|
}
|
}else {
|
imageView.setVisibility(View.VISIBLE);
|
}
|
}
|
|
|
}
|