说明 : 对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