lizhanwei
2020-04-20 7815e8d838fcd1bca3792671dc20dde77125a343
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package safeluck.drive.evaluation.customview;
 
import android.app.Dialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
 
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
 
import java.nio.charset.Charset;
 
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.util.QRCodeUtil;
 
/**
 * @ProjectName: DriveJudge
 * @Package: safeluck.drive.evaluation.customview
 * @ClassName: LoadProgressDialog
 * @Description: java类作用描述
 * @Author: 李占伟
 * @CreateDate: 2020-04-16 09:57
 * @UpdateUser: 更新者
 * @UpdateDate: 2020-04-16 09:57
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
 
public class QRCodeDialog extends DialogFragment {
    private static final String TAG = "QRCodeDialog";
    private String message="正在加载...";
    private boolean canCancel= true;
    private ImageView iv_qrCode;
    private Button btn;
    private Bitmap qrBitmap;
    private Bitmap logobitmap;
 
 
    private Handler handler = new Handler(Looper.getMainLooper()){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what==1)
            dismiss();
        }
    };
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.layout_dialog_qrcode,container,false);
        initView(view);
        setCancelable(canCancel);
 
        Message message = Message.obtain();
        message.what = 1;
        handler.sendMessageDelayed(message,15*1000);
        return view;
    }
 
    private void initView(View view) {
        Bundle bundle =getArguments();
        message = bundle.getString("tittle");
        Log.i(TAG,"meesage="+message);
        btn = view.findViewById(R.id.btn_qr_sure);
        iv_qrCode =view.findViewById(R.id.iv_qr_code);
        logobitmap = BitmapFactory.decodeResource(getResources(),R.drawable.anyunlog);
        qrBitmap = QRCodeUtil.createQRCodeBitmap(message,640,640,"UTF-8","H",
                "1", Color.BLACK,Color.WHITE,logobitmap,0.2f,null);
        iv_qrCode.setImageBitmap(qrBitmap);
        btn.setOnClickListener(v -> {
            dismiss();
        });
    }
 
 
    public static QRCodeDialog newInstance(String message){
        QRCodeDialog fragment = new QRCodeDialog();
        Bundle bundle = new Bundle();
        bundle.putString("tittle", message);
        Log.i(TAG,"messae="+message);
        fragment.setArguments(bundle);
        return fragment;
    }
 
 
 
}