一起学Android之Dialog

移动开发 作者: 2024-08-24 15:05:01
对话框(Dialog)是一个在Android系统开发中经常会用到的小窗口,它提示用户做决定或者输入一些东西,对话框并不填充屏幕,是一个模态(Modal)窗口。Dialog类是所有对话框的基类,应避免直
  1. 构建一个Builder(AlertDialog.Builder)。
  2. 设置对话框标题(setTitle),内容信息(setMessage)。
  3. 设置对话框显示的按钮,最多三个按钮(setPositiveButton,setNegativeButton)。
  4. 调用方法,创建对话框对象(create)。
  5. 显示对话框(show)。
  • AlertDialog.Builder 对话框构造器,可以进行对话框进行设置,并创建对话框对象。
  • setTitle 设置对话框标题,setMessage设置对话框显示的文本内容
  • setNegativeButton 设置对话框显示的否定按钮(Cancel), setPositiveButton设置对话框显示的肯定按钮(OK)
  • show() 显示对话框
  • setItems 设置对话框的列表内容
  • setSingleChoiceItems 设置单选按钮的列表项,setMultiChoiceItems设置多选按钮的列表项
  • setView 设置自定义视图的对话框
 1     /**
 2      * 默认对话框事件响应方法
 3      *
 4      * @param v
 5      */
 6     public void showDefaultDialog(View v) {
 7         //创建一个Builder
 8         AlertDialog.Builder builder = new AlertDialog.Builder(this);
 9         设置对话框标题
10         builder.setTitle("提示"11         设置对话框内容
12         builder.setMessage("这是一个对话框的提示"13         积极按钮?
14         builder.setPositiveButton("OK",new DialogInterface.OnClickListener() {
15             @Override
16             void onClick(DialogInterface dialog,1)">int which) {
17                 Toast.makeText(MainActivity.this,"你选择了OK",Toast.LENGTH_SHORT).show();
18             }
19         });
20         消极按钮
21         builder.setNegativeButton("Cancel",1)">22 23             24                 Toast.makeText(MainActivity.25 26 27         创建一个对话框
28         AlertDialog dialog = builder.create();
29         显示一个对话框
30         dialog.show();
31     }
 1       * 列表对话框响应事件
 showListDialog(View v) {
构件一个对话框Builder
设置标题
10         builder.setTitle(R.string.pick_color);
将资源文件转化为数组对象
12         arr_colors = getResources().getStringArray(R.array.arr_colors);
设置列表内容和点击事件
14         builder.setItems(R.array.arr_colors,"你选择了[" + arr_colors[which] + "]"21         AlertDialog dialog =22         23 24     }
 1         * 单选框对话框按钮事件
 showSingleDialog(View v) {
13         checkedItems=new [arr_colors.length];
14         设置列表内容和点击事件,第二个参数checkedItem表示默认选中项
15         builder.setSingleChoiceItems(R.array.arr_colors,1)">16 17             18                 for(int i=0;i<checkedItems.length;i++){
19                     if(i==which){
20                         checkedItems[i]=1;
21                     }else{
22                         checkedItems[i]=0                    }
24                 }
25                 Toast.makeText(MainActivity.27 28         29         builder.setPositiveButton("OK",1)">31             32                 Toast.makeText(MainActivity.getCheckedItems(),1)">33 34 35         36         builder.setNegativeButton("Cancel",1)">37 38             39                 Toast.makeText(MainActivity.40 41 42         43         AlertDialog dialog =44         45 46     }
 1        * 复选框对话框事件
 showMultipleDialog(View v) {
15         builder.setMultiChoiceItems(R.array.arr_colors,1)">null,1)"> DialogInterface.OnMultiChoiceClickListener() {
int which,1)">boolean isChecked) {
18                 String msg=""19                 if(isChecked){
20                     checkedItems[which]=121                     msg="选择"22                 }23                     checkedItems[which]=024                     msg="取消"26                 Toast.makeText(MainActivity.28 30         builder.setPositiveButton("OK",1)">31 32             33                 Toast.makeText(MainActivity.35 36         37         builder.setNegativeButton("Cancel",1)">38 39             40                 Toast.makeText(MainActivity.42 43         44         AlertDialog dialog =45         46 47     }
     * 自定义对话框事件按钮
 4       5      showCustomerDialog(View v) {
 6 
 7         AlertDialog.Builder builder =  8          Get the layout inflater
 9         LayoutInflater inflater = getLayoutInflater();
10         View customerView=inflater.inflate(R.layout.dialog_layout,1)">null Inflate and set the layout for the dialog
12          Pass null as the parent view because its going in the dialog layout
13         mUserName= (EditText) customerView.findViewById(R.id.username);
14         mPassword= (EditText) customerView.findViewById(R.id.password);
        builder.setView(customerView)
16                  Add action buttons
17                 .setPositiveButton(R.string.sign_in,1)">                    @Override
 id) {
20                          sign in the user ...
21                         Toast.makeText(MainActivity.mPassword.getText(),1)">                })
24                 .setNegativeButton(R.string.cancel2,1)">25                     26                         Toast.makeText(MainActivity.27 
29                 });
30         31         AlertDialog dialog =32         34     }
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_67879.html
一起学Android之Dialog