ToastAlertDialog.java 1.98 KB
package com.sunvote.xpadapp.dialog;

import android.app.AlertDialog;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;

import com.sunvote.xpadapp.R;

public class ToastAlertDialog {

    private AlertDialog dialog;
    private AlertDialog.Builder builder;
    private TextView messageView ;
    private TextView confirm;
    private Handler handler;

    public ToastAlertDialog setMessage(CharSequence message) {
        messageView.setText(message);
        return this;
    }

    public ToastAlertDialog(Context context){
        builder = new AlertDialog.Builder(context);
        handler = new Handler(Looper.getMainLooper());
        builder.setCancelable(true);
        View rootView = LayoutInflater.from(context).inflate(R.layout.toast_dialog,null);
        messageView = rootView.findViewById(R.id.message);
        confirm = rootView.findViewById(R.id.confirm);
        rootView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(dialog != null){
                    dialog.dismiss();
                }
            }
        });
        builder.setView(rootView);
    }

    Runnable close = new Runnable() {
        @Override
        public void run() {
            if(dialog != null){
                dialog.dismiss();
            }
        }
    };

    public void show(){
        if(dialog == null){
            dialog = builder.create();
        }
        WindowManager.LayoutParams  lp= dialog.getWindow().getAttributes();
        lp.width=750;
        lp.height=380;
        lp.alpha = 0.6f;
        dialog.getWindow().setAttributes(lp);
        dialog.show();
        handler.postDelayed(close,2000);
    }

    public static ToastAlertDialog makeText(Context context, CharSequence text){
        return new ToastAlertDialog(context).setMessage(text);
    }
}