优雅封装DialogFragment对话框

说明 : 对DialogFragment进行封装 , 代码部分在章节(1.封装代码) , 如何使用请到章节(2.使用)中查看 .

1. 封装代码

自己建个类 , 把直接把代码复制粘贴过去 , 就可以在外部调用了 .

import android.app.Activity;
import android.app.ActivityManager;
import android.app.Dialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.text.TextPaint;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import java.util.List;

public class MyAlertDialogFragment extends DialogFragment {
   

    private Context mContext;
    private Activity mActivity = null;
    private Fragment mFragment = null;
    //标题
    private String mTitle = "提示";
    private int mTitleSize = 20;
    private int mTitleColor = R.color.primary_text;
    //内容
    private String mMessage = "暂无内容";
    //按钮
    private String mPositiveBtnStr = "确定";
    private String mNegativeBtnStr = "取消";
    private String mNeutralBtnStr = "";//中立按钮默认无文字
    private int mPositiveBtnColor = R.color.primary;
    private int mNegativeBtnColor = R.color.primary;
    private int mNeutralBtnColor = R.color.secondary_text;
    private int mPositiveBtnStrSize = 14;
    private int mNegativeBtnStrSize = 14;
    private int mNeutralBtnStrSize = 14;
    //背景透明度
    private float mDimAmout = 0.0f;
    //能否点击取消
    private boolean mCancelOutside = true;
    private boolean mCancelBackup = true;

    ///构造/

    /**
     * 用volatile修饰的变量,
     * 线程在每次使用变量的时候,都会读取变量修改后的最的值。
     * volatile很容易被误用,用来进行原子性操作。
     */
    private static volatile MyAlertDialogFragment myAlertDialogFragment = null;

    //私有化构造函数:
    private void PayDialogFragment() {
    }

    /**
     * 单例模式:创建  Fragment:
     *
     * @return
     */
    public static MyAlertDialogFragment getInstance() {
        if (myAlertDialogFragment == null) {
            synchronized (MyAlertDialogFragment.class) {
                if (myAlertDialogFragment == null) {
                    myAlertDialogFragment = new MyAlertDialogFragment();
                }
            }
        }
        return myAlertDialogFragment;
    }

    //activity调用
    //MyAlertDialogFragment editNameDialog = MyAlertDialogFragment.getInstance();
    //                   editNameDialog.show(getFragmentManager(), "PayDialog");

    /setter//


    /**
     * 设置中立按钮文字
     *
     * @param neutralBtnStr 默认:"等等再说"
     * @return
     */
    public MyAlertDialogFragment setNeutralBtnStr(String neutralBtnStr) {
        mNeutralBtnStr = neutralBtnStr;
        return this;
    }

    /**
     * 设置中立按钮颜色
     *
     * @param neutralBtnColor 默认:R.color.secondary_text
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值