package cn.sinata.xldutils.utils; import android.app.DatePickerDialog; import android.content.Context; import android.content.DialogInterface; import android.text.TextUtils; import androidx.appcompat.app.AlertDialog; import java.util.Calendar; import cn.sinata.xldutils.R; import cn.sinata.xldutils.widget.MyDatePickerDialog; /** * */ public class DialogUtils { /** * 创建简单dialog * @param context 上下文 * @param message 提示文字 */ public static void createNoticeDialog(Context context,String message){ createNoticeDialog(context,"请注意",message); } /** * 创建简单dialog * @param context 上下文 * @param title 标题 * @param message 提示文字 */ public static void createNoticeDialog(Context context,String title,String message){ createNoticeDialog(context,title,message,true,"确定",null,null,null); } /** * 创建dialog * @param context 上下文 * @param title 标题 * @param message 提示信息 * @param positiveButton 按钮文字,不显示按钮请传null */ public static void createNoticeDialog(Context context,String title,String message,String positiveButton){ createNoticeDialog(context,title,message,true,positiveButton,null,null,null); } /** * 创建dialog * @param context 上下文 * @param title 标 * @param message 提示信 * @param positiveButton 按钮文字,不显示按钮请传null * @param negativeButton 按钮文字,不显示按钮请传null */ public static void createNoticeDialog(Context context,String title,String message,String positiveButton,String negativeButton){ createNoticeDialog(context,title,message,true,positiveButton,negativeButton,null,null); } /** * 创建dialog * @param context 上下文 * @param title 标 * @param message 提示信 * @param positiveButton 按钮文字,不显示按钮请传null * @param positiveListener 按钮点击事件 */ public static void createNoticeDialog(Context context,String title,String message,String positiveButton,DialogInterface.OnClickListener positiveListener){ createNoticeDialog(context,title,message,true,positiveButton,"取消",positiveListener,null); } /** * 创建dialog * @param context 上下文 * @param title 标 * @param message 提示信 * @param positiveButton 按钮文字,不显示按钮请传null * @param negativeButton 按钮文字,不显示按钮请传null * @param positiveListener 确定按钮点击事件 * @param negativeListener 取消按钮点击事件 */ public static void createNoticeDialog(Context context, String title, String message,boolean cancelOutSide, String positiveButton, String negativeButton, DialogInterface.OnClickListener positiveListener,DialogInterface.OnClickListener negativeListener){ AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(title); builder.setMessage(message); builder.setCancelable(cancelOutSide); if (!TextUtils.isEmpty(positiveButton)) { builder.setPositiveButton(positiveButton,positiveListener); } if (!TextUtils.isEmpty(negativeButton)) { builder.setNegativeButton(negativeButton, negativeListener); } builder.create().show(); } /** * * @param context * @param onDateSetListener */ public static void createTimeDialog(Context context, DatePickerDialog.OnDateSetListener onDateSetListener){ createTimeDialog(context,-1,-1,onDateSetListener); } /** * 展示系统时间选择弹窗 * @param context 上下文 * @param onDateSetListener 选择监听 * @param minDate 最小时间,不限制传-1 * @param maxDate 最大时间,不限制传-1 */ public static void createTimeDialog(Context context,long minDate,long maxDate, DatePickerDialog.OnDateSetListener onDateSetListener){ final Calendar c = Calendar.getInstance(); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(context, R.style.DatePickDialog,onDateSetListener,mYear,mMonth,mDay); if (minDate>-1){ datePickerDialog.setMinDate(minDate); } if (maxDate>-1){ datePickerDialog.setMaxDate(maxDate); } datePickerDialog.setCanceledOnTouchOutside(false); datePickerDialog.show(); } }