张钢
2024-09-02 63608b5dca9eebb6fa2cb1a8652b395f1d910c3e
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.application.zhangshi_app_android.ui.dialog;
 
import static com.blankj.utilcode.util.StringUtils.getString;
 
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
 
import androidx.annotation.DrawableRes;
import androidx.constraintlayout.utils.widget.ImageFilterView;
 
import com.android.app_base.base.BaseConfig;
import com.android.app_base.base.dialog.BaseDialog;
import com.android.app_base.utils.GlideUtil;
import com.application.zhangshi_app_android.R;
 
/**
 * @author Ljj
 * @date 2023.04.25. 20:04
 * @desc 查看大图弹窗
 */
public final class BigImageDialog {
    public static class Builder extends BaseDialog.Builder<BigImageDialog.Builder> {
        private final ImageFilterView iv_big_image;
        private final ImageView iv_dialog_close;
        public Builder(Context context) {
            super(context);
            setContentView(R.layout.dialog_big_image);
            setAnimStyle(BaseDialog.ANIM_IOS);
            setBackgroundDimEnabled(false);
            setCancelable(false);
            setGravity(Gravity.CENTER);
 
            iv_dialog_close = findViewById(R.id.iv_dialog_close);
            iv_big_image = findViewById(R.id.iv_big_image);
            setOnClickListener(iv_dialog_close);
 
        }
 
        public Builder setBigImage(String url) {
            if (url.contains("profile/upload")) {//如果是上传到服务器的图片
                //只取profile/upload以后的部分
                url = url.substring(url.indexOf("profile/upload"));
                url = BaseConfig.BASE_URL_DOMAIN + "/" + url;
            }
            GlideUtil.loadImage(url,iv_big_image);
            return this;
        }
        public Builder setBigImage(@DrawableRes int drawableId) {
            iv_big_image.setBackgroundResource(drawableId);
            return this;
        }
 
        @Override
        public void onClick(View v) {
            super.onClick(v);
            if (v.getId() == R.id.iv_dialog_close){
                if (getDialog() != null) {
                    getDialog().dismiss();
                }
            }
        }
    }
}