博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习(九)—— Android对话框
阅读量:5020 次
发布时间:2019-06-12

本文共 5821 字,大约阅读时间需要 19 分钟。

Android对话框

前几天出差没有进行更新,今天写一下安卓中用的比较多的对话框——AlertDialog。

dialog就是一个在屏幕上弹出一个可以让用户做出一个选择,或者输入额外的信息的对话框,一个对话框并不会沾满我们整个的屏幕,并且通常用于模型事件当中需要用户做出一个决定后才会继续执行。

对于对话框,我们主要用三种,分别是普通对话框、单选对话框、多选对话框。

效果图

对话框没什么难点,直接上代码

1 public class MainActivity extends AppCompatActivity implements View.OnClickListener {  2   3     private Button btn_dialog_one;  4     private Button btn_dialog_three;  5     private Button btn_dialog_four;  6   7     private Context mContext;  8     private boolean[] checkItems;  9  10     private AlertDialog alert = null; 11     private AlertDialog.Builder builder = null; 12  13     @Override 14     protected void onCreate(Bundle savedInstanceState) { 15         super.onCreate(savedInstanceState); 16         setContentView(R.layout.activity_main); 17         mContext = MainActivity.this; 18         bindView(); 19  20  21     } 22  23     private void bindView() { 24         btn_dialog_one = (Button) findViewById(R.id.btn_dialog_one); 25         btn_dialog_three = (Button) findViewById(R.id.btn_dialog_three); 26         btn_dialog_four = (Button) findViewById(R.id.btn_dialog_four); 27         btn_dialog_one.setOnClickListener(this); 28         btn_dialog_three.setOnClickListener(this); 29         btn_dialog_four.setOnClickListener(this); 30     } 31  32  33     @Override 34     public void onClick(View v) { 35         switch (v.getId()) { 36             //普通对话框 37             case R.id.btn_dialog_one: 38                 alert = null; 39                 builder = new AlertDialog.Builder(mContext); 40                 alert = builder.setIcon(R.mipmap.ic_icon_fish) 41                         .setTitle("系统提示:") 42                         .setMessage("这是一个最普通的AlertDialog,\n带有三个按钮,分别是取消,中立和确定") 43                         .setNegativeButton("取消", new DialogInterface.OnClickListener() { 44                             @Override 45                             public void onClick(DialogInterface dialog, int which) { 46                                 Toast.makeText(mContext, "你点击了取消按钮~", Toast.LENGTH_SHORT).show(); 47                             } 48                         }) 49                         .setPositiveButton("确定", new DialogInterface.OnClickListener() { 50                             @Override 51                             public void onClick(DialogInterface dialog, int which) { 52                                 Toast.makeText(mContext, "你点击了确定按钮~", Toast.LENGTH_SHORT).show(); 53                             } 54                         }) 55                         .setNeutralButton("中立", new DialogInterface.OnClickListener() { 56                             @Override 57                             public void onClick(DialogInterface dialog, int which) { 58                                 Toast.makeText(mContext, "你点击了中立按钮~", Toast.LENGTH_SHORT).show(); 59                             } 60                         }).create();             //创建AlertDialog对象 61                 alert.show();                    //显示对话框 62                 break; 63             //单选列表对话框 64             case R.id.btn_dialog_three: 65                 final String[] fruits = new String[]{"苹果", "雪梨", "香蕉", "葡萄", "西瓜"}; 66                 alert = null; 67                 builder = new AlertDialog.Builder(mContext); 68                 alert = builder.setIcon(R.mipmap.ic_icon_fish) 69                         .setTitle("选择你喜欢的水果,只能选一个哦~") 70                         .setSingleChoiceItems(fruits, 0, new DialogInterface.OnClickListener() { 71                             @Override 72                             public void onClick(DialogInterface dialog, int which) { 73                                 Toast.makeText(getApplicationContext(), "你选择了" + fruits[which], Toast.LENGTH_SHORT).show(); 74                             } 75                         }).create(); 76                 alert.show(); 77                 break; 78             //多选列表对话框 79             case R.id.btn_dialog_four: 80                 final String[] menu = new String[]{"水煮豆腐", "萝卜牛腩", "酱油鸡", "胡椒猪肚鸡"}; 81                 //定义一个用来记录个列表项状态的boolean数组 82                 checkItems = new boolean[]{
false, false, false, false}; 83 alert = null; 84 builder = new AlertDialog.Builder(mContext); 85 alert = builder.setIcon(R.mipmap.ic_icon_fish) 86 .setMultiChoiceItems(menu, checkItems, new DialogInterface.OnMultiChoiceClickListener() { 87 @Override 88 public void onClick(DialogInterface dialog, int which, boolean isChecked) { 89 checkItems[which] = isChecked; 90 } 91 }) 92 .setPositiveButton("确定", new DialogInterface.OnClickListener() { 93 @Override 94 public void onClick(DialogInterface dialog, int which) { 95 String result = ""; 96 for (int i = 0; i < checkItems.length; i++) { 97 if (checkItems[i]) 98 result += menu[i] + " "; 99 }100 Toast.makeText(getApplicationContext(), "客官你点了:" + result, Toast.LENGTH_SHORT).show();101 }102 })103 .create();104 alert.show();105 break;106 }107 }108 }

布局是界面中加上三个按钮,就不往上贴了。。。。。。

下面是对话框的实现步骤

  1. 创建AlertDialog.Builder对象;
  2. 调用setIcon()设置图标,setTitle()setCustomTitle()设置标题;
  3. 设置对话框的内容:setMessage()还有其他方法来指定显示的内容;
  4. 调用setPositive/Negative/NeutralButton()设置:确定,取消,中立按钮;
  5. 调用create()方法创建这个对象,再调用show()方法将对话框显示出来;

 

转载于:https://www.cnblogs.com/QY-admin/p/10012522.html

你可能感兴趣的文章
SetCapture ReleaseCapture
查看>>
DataGridView ——管理员对用户的那点操作
查看>>
POJ - 1185 炮兵阵地 (状态压缩)
查看>>
ios7 JavaScriptCore.framework
查看>>
算法6-5:哈希表应用之集合
查看>>
压力单位MPa、Psi和bar之间换算公式
查看>>
Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
查看>>
程序员面试、算法研究、编程艺术、红黑树4大系列集锦与总结 .
查看>>
idea tomcat 配置
查看>>
冲刺第二天
查看>>
LeetCode 405. Convert a Number to Hexadecimal (把一个数转化为16进制)
查看>>
ASP.NET MVC 3–Global Action Filters
查看>>
OFFICE安装提示1935错误
查看>>
jva基础网络编程
查看>>
js 正计时和倒计时
查看>>
复合数据类型,英文词频统计
查看>>
you-get帮助使用手册
查看>>
nyoj756_重建二叉树_先序遍历
查看>>
sin()函数的实现
查看>>
图像切割之(一)概述
查看>>