AlertDialog 封装
效果图
AlertDialog 封装
1.新建AlertDialogActivity用于封装AlertDialog
package com.example.admin.alertdialog.alertdialog; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface.OnClickListener; /** * 对话框(AlertDialog)封装类 * * @author 苹果 */ public class AlertDialogActivity { /** * @param context 上下文 * @param icon 图标,如:R.drawable.icon * @param title 标题 * @param message 显示内容 * @param btnName 按钮名称 * @param listener 监听器,需实现DialogInterface.OnClickListener接口 * @return */ public static AlertDialog one(Context context, int icon, String title, String message, String btnName, OnClickListener listener) { // 定义dialog为空 AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); // 设置对话框的标题 dialog1.setTitle(title); // 设置对话框的图标 dialog1.setIcon(icon); // 设置对话框的显示内容 dialog1.setMessage(message); // 添加按钮dialog1.setPositiveButton(btnName, new // DialogInterface.OnClickListener() dialog1.setPositiveButton(btnName, listener); // 创建一个普通对话框 dialog = dialog1.create(); return dialog; } /** * @param context 上下文 * @param icon 图标,如:R.drawable.icon * @param title 标题 * @param message 显示内容 * @param btnName 按钮名称 * @param listener 监听器,需实现DialogInterface.OnClickListener接口 * @return */ public static AlertDialog two(Context context, int icon, String title, String message, String btnName, OnClickListener listener, String btnName1, OnClickListener listener1) { AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); dialog1.setTitle(title); dialog1.setIcon(icon); dialog1.setMessage(message); dialog1.setPositiveButton(btnName, listener); dialog1.setNegativeButton(btnName1, listener1); dialog = dialog1.create(); return dialog; } /** * @param context 上下文 * @param icon 图标,如:R.drawable.icon * @param title 标题 * @param message 显示内容 * @param btnName 按钮名称 * @param listener 监听器,需实现DialogInterface.OnClickListener接口 * @return */ public static AlertDialog three(Context context, int icon, String title, String message, String btnName, OnClickListener listener, String btnName1, OnClickListener listener1, String btnName2, OnClickListener listener2) { AlertDialog dialog = null; AlertDialog.Builder dialog1 = new AlertDialog.Builder(context); dialog1.setIcon(icon); dialog1.setMessage(message); dialog1.setPositiveButton(btnName, listener); dialog1.setNegativeButton(btnName1, listener1); dialog1.setNeutralButton(btnName2, listener2); dialog = dialog1.create(); return dialog; } }
2.在主布局文件中添加一个Button用于点击显示AlertDialog
3.新建Main2Activity用于当点击确定按钮时跳转
4.编写主类
package com.example.admin.alertdialog; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button btn_AlertDialogNew; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化AlertDialog btn_AlertDialogNew = (Button) findViewById(R.id.button); //给AlertDialog添加监听 btn_AlertDialogNew.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //调用封装的AlertDialog AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this); //设置对话框标题 dialog.setTitle("提示"); //设置对话框图标 dialog.setIcon(R.mipmap.ic_launcher); //设置对话框显示内容 dialog.setMessage("显示内容"); //调用AlertDialog确定按钮 dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { //实例化Intent跳转 Intent intent = new Intent(); //指定跳转页面 intent.setClass(MainActivity.this, Main2Activity.class); //开始跳转 startActivity(intent); //使用Toast提示 Toast.makeText(MainActivity.this, "点击确定并跳转", Toast.LENGTH_SHORT).show(); //点击后关闭对话框 arg0.dismiss(); } }); //调用AlertDialog取消按钮 dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击取消", Toast.LENGTH_SHORT).show(); //点击后关闭对话框 arg0.dismiss(); } }); //调用AlertDialog帮助按钮 dialog.setNeutralButton("帮助", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击帮助", Toast.LENGTH_SHORT).show(); //点击后关闭对话框 arg0.dismiss(); } }); //显示AlertDialog dialog.show(); } }); } }