zoukankan      html  css  js  c++  java
  • Android Dialog的四种情况 (转)

    四种dialog总结,下面的代码返回的是一个Dialog,在onClick里面用showDialog(anyDialog)调用就可以。

    一、一个确认一个取消

     private Dialog buildDialog1(Context context) {
      AlertDialog.Builder builder = new  AlertDialog.Builder(context);
      builder.setIcon(R.drawable.alert_dialog_icon);
      builder.setTitle(R.string.alert_dialog_two_buttons_title);
      builder.setPositiveButton(R.string.alert_dialog_ok,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的确定按钮");
         }
        });
      builder.setNegativeButton(R.string.alert_dialog_cancel,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的取消按钮");
         }
        });
      return builder.create();
     }

    二、带有大量文本

    private Dialog buildDialog2(Context context) {
      AlertDialog.Builder builder = new AlertDialog.Builder(context);
      builder.setIcon(R.drawable.alert_dialog_icon);
      builder.setTitle(R.string.alert_dialog_two_buttons_msg);
      builder.setMessage(R.string.alert_dialog_two_buttons2_msg);
      builder.setPositiveButton(R.string.alert_dialog_ok,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的确定按钮");
         }
        });

      builder.setNeutralButton(R.string.alert_dialog_something,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {

          setTitle("点击了对话框上的进入详细按钮");
         }
        });
      builder.setNegativeButton(R.string.alert_dialog_cancel,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的取消按钮");
         }
        });
      return builder.create();
     }

    三、带输入框的,稍微复杂一点,要加人带textview、editview的layout

    private Dialog buildDialog3(Context context) {
      LayoutInflater inflater = LayoutInflater.from(this);
      final View textEntryView = inflater.inflate(
        R.layout.alert_dialog_text_entry, null);
      AlertDialog.Builder builder = new AlertDialog.Builder(context);
      builder.setIcon(R.drawable.alert_dialog_icon);
      builder.setTitle(R.string.alert_dialog_text_entry);
      builder.setView(textEntryView);
      builder.setPositiveButton(R.string.alert_dialog_ok,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的确定按钮");
         }
        });
      builder.setNegativeButton(R.string.alert_dialog_cancel,
        new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int whichButton) {
          setTitle("点击了对话框上的取消按钮");
         }
        });
      return builder.create();
     }

    四、带进度条的

     private Dialog buildDialog4(Context context) {
      ProgressDialog dialog = new ProgressDialog(context);
      dialog.setTitle("正在下载歌曲");
      dialog.setMessage("请稍候……");
      return dialog;
     }

  • 相关阅读:
    最能激怒程序猿的十句话()
    程序员是如何被外行给逼疯的?
    Linux 平台安装Oracle Database 12c
    替代恐慌你有吗?程序员会被深度学习技术淘汰吗?
    1006 换个格式输出整数 (15 分)C语言
    1021 个位数统计 (15 分)C语言
    1010 一元多项式求导 (25 分)C语言
    1009 说反话 (20 分)C语言
    1008 数组元素循环右移问题 (20 分)C语言
    1056 组合数的和 (15 分)C语言
  • 原文地址:https://www.cnblogs.com/zhwl/p/2150985.html
Copyright © 2011-2022 走看看