mac
2024-10-31 3f8f1590859188c334739f76f1d64c2b6c2bfd55
app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
@@ -13,6 +13,7 @@
import android.widget.ImageView;
import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
@@ -48,13 +49,14 @@
     * @param imageview 显示图片组件
     */
    public static void getGeneralImage(Context context, String url, ImageView imageview) {
        if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
            return;
        if (url.startsWith("http://") || url.startsWith("https://")) {
            Glide.with(context)
                    .load(url)
                    .apply(getRequestOptions(false))
                    .into(imageview);
        } else {
            setDefaultImage(context, imageview, true);
        }
        Glide.with(context)
                .load(url)
                .apply(getRequestOptions(false))
                .into(imageview);
    }
    /**
@@ -66,14 +68,44 @@
     * @param granularRoundedCorners 设置图片角度
     */
    public static void getGranularRoundedCornersImage(Context context, String url, ImageView imageview, GranularRoundedCorners granularRoundedCorners) {
        if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
        if (url.startsWith("http://") || url.startsWith("https://")) {
            Glide.with(context)
                    .load(url)
                    .apply(getRequestOptions(false))
                    .transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
                    .into(imageview);
        } else {
            setDefaultImage(context, imageview, true);
        }
    }
    /**
     * 图片四个角统一指定
     *
     * @param context        上下文
     * @param url            图片地址
     * @param imageview      显示图片组件
     * @param roundedCorners 设置图片角度值
     */
    public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners) {
        if (!(url.startsWith("http://") || url.startsWith("https://"))) {
            imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.plant_default_picture));
            return;
        }
//        if (url.startsWith("http://") || url.startsWith("https://")) {
        Glide.with(context)
                .load(url)
                .apply(getRequestOptions(false))
                .transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
                .apply(new RequestOptions()
                        .placeholder(R.drawable.plant_default_picture)
                        .error(R.drawable.plant_default_picture)
                        .fallback(R.drawable.plant_default_picture))
                .transform(new CenterCrop(), roundedCorners)//Glide加载图片圆角效果与ImageView的ScaleType冲突问题
//                .transform(roundedCorners)
                .into(imageview);
//        } else {
//            setDefaultImage(context, imageview, userImage);
//        }
    }
    /**
@@ -85,15 +117,20 @@
     * @param roundedCorners 设置图片角度值
     */
    public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners, boolean userImage) {
        if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
        if (!(url.startsWith("http://") || url.startsWith("https://"))) {
            setDefaultImage(context, imageview, userImage);
            return;
        }
//        if (url.startsWith("http://") || url.startsWith("https://")) {
        Glide.with(context)
                .load(url)
                .apply(getRequestOptions(userImage))
                .transform(new CenterCrop(), roundedCorners)//Glide加载图片圆角效果与ImageView的ScaleType冲突问题
//                .transform(roundedCorners)
                .into(imageview);
//        } else {
//            setDefaultImage(context, imageview, userImage);
//        }
    }
    /**
@@ -104,14 +141,16 @@
     * @param imageview 显示图片组件
     */
    public static void getCircleCropImage(Context context, String url, ImageView imageview, boolean userImage) {
        if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
            return;
        if (url.startsWith("http://") || url.startsWith("https://")) {
            Glide.with(context)
                    .load(url)
                    .apply(getRequestOptions(userImage))
                    .transform(new CircleCrop())
                    .into(imageview);
        } else {
            setDefaultImage(context, imageview, userImage);
        }
        Glide.with(context)
                .load(url)
                .apply(getRequestOptions(userImage))
                .transform(new CircleCrop())
                .into(imageview);
    }
@@ -222,5 +261,19 @@
                .into(imageview);
    }
    private static void setDefaultImage(Context context, ImageView imageview, boolean userImage) {
        HdlThreadLogic.runMainThread(new Runnable() {
            @Override
            public void run() {
                if (userImage) {
                    imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.default_image));
                } else {
                    imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.default_user));
                }
            }
        });
    }
}