您的位置:首页 > 移动开发 > Android开发

Android中的Dialog 对话框的使用

2016-10-31 14:04 267 查看

1.1    Dialog 对话框

1.1.1  提示对话框AlertDialog的使用



AlertDialog.Builder builder = AlertDialog.Budiler(Context):创建Dialog构造器

builder.setIcon():设置图标

builder.setMessage():设置文本内容

builder.setPositiveButton():设置“确定”按钮

builder.setNegativeButton():设置“取消”按钮

builder.setNeutralButton():设置“中立”按钮

                   点击按钮后,默认会关闭对话框

builder.setCancelable(boolean cancelable):设置是否可被取消

AlertDialog dialog = builder.create():创建对话框对象

dialog.show():显示对话框

点击按钮后,默认会关闭对话框

这两行代码可用builder.show()来代替

提示对话框AlertDialog的使用:

 

AlertDialog的分类:

1.  普通AlertDialog

2.  带列表的AlertDialog

3.  带单选列表的AlertDialog

4.  带多选列表的AlertDialog

5.  自定义列表样式的AlertDialog

6.  完全自定义显示内容的AlertDialog

 



 

 

1.1.2  列表对话框



列表对话框本质上还是AlertDialog

1、普通列表对话框

         builder.setItems():设置列表项

2、单选列表对话框

         builder.setSingleChoiceItems():设置单选列表项

3、多选列表对话框

         builder.setMultiChoiceItems():设置多选列表项

4、带图标的列表对话框

         builder.setAdapter():设置适配器(自定义每一行的布局和内容)



 

1.1.3  进度对话框



ProgressDialog pDialog = newProgressDialog(Context) :创建进度对话框

设置进度条的样式

         无进度显示(默认)

         有进度显示:pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

pDialog.show():显示对话框

pDialog.setProgress(intprogress):设置进度

示例代码

case R.id.btn_dialog_progress:

                            ProgressDialog dialog = new ProgressDialog(this);

                            dialog.setMessage("提示等待中.......");

                            dialog.setTitle("提示题");

                            dialog.setIcon(R.drawable.ic_launcher);

                            // 设置对话框的显示样式

                            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

                            dialog.show();

                            break;



 

1.1.4  日期选择对话框DatePickerDialog



日期设置对话框的实现与时间设置对话框的使用套路一致,唯一要注意的问题在于,关于月份上:3 代表4月

private
void
dataPickDialog() {

                   // 获取设备的当前时间

                   Calendar cal = Calendar.getInstance();

                   DatePickerDialog dpcl = new DatePickerDialog(MainActivity.this,

                                     newOnDateSetListener() {

 

                                               @Override

                                               public
voidonDateSet(DatePicker view,
int year,


                                                                
int monthOfYear, int dayOfMonth) {


                                                       
// TODO Auto-generated method stub


                                                        Toast.makeText(MainActivity.this,

                                                                           year+
"/" + (monthOfYear+1) +
"/" + dayOfMonth,


                                                                           Toast.LENGTH_SHORT).show();

                                               }

                                     }, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),

                                     cal.get(Calendar.DAY_OF_MONTH));

                   dpcl.show();

         }】

 

1.1.5  时间选择对话框TimePickerDialog



时间设置对话框的实现:

/*
             * 1. Context 环境
             * 2. 当时间确定后运行该接口中的方法
             * 3,4.用于设置对话框初始显示时显示的小时和分钟数
             * 5. 是否是24小时制
             * */
            TimePickerDialog
td = new TimePickerDialog(this,
new OnTimeSetListener() {
                /*
                 * 当时间设置完成后运行的方法
                 * 参数:1.对话框中用于设置时间的控件
                 * 2. 设置后的小时
                 * 3.设置后的分钟
                 * */
                @Override
                public
void
onTimeSet(TimePicker
view, int
hourOfDay, int
minute) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this,
hourOfDay+" "+minute, Toast.LENGTH_LONG).show();
                }
            }, 11, 25, true);
            //显示对话框
            td.show();



 

1.1.6  自定义对话框



builder.setView()

         privatevoid btn_dialog_custom() {

                   Viewview = getLayoutInflater().inflate(R.layout.custom, null);

                   final AlertDialog dia=newAlertDialog.Builder(this)

                   .setView(view)

                   .setTitle("完全自定义的对话框")

                   .show();

                   /*

                    * 自定义的对话框中显示一个输入框和一个按钮

                    * 实现:当点击按钮的时候,关闭对话框,并且获取输入框中输入的内容

                    * */

                   Buttonbut =(Button) view.findViewById(R.id.button1);

                   finalEditText et = (EditText) view.findViewById(R.id.editText1);

                   /*

                    * 由于按钮的点击事件与对话框中的点击事件的名称都叫做OnClickListener

                    * 分属于不同的包中,而import倒包的部分不允许导入两个结尾名称相同的类

                    * 所以只能一个通过import导包,另一个通过上一层的路径类进行显示

                    * */

                   but.setOnClickListener(newView.OnClickListener() {

                           

                            @Override

                            publicvoid onClick(View v) {

                                     //TODO Auto-generated method stub

                                     Toast.makeText(MainActivity.this,et.getText().toString(), Toast.LENGTH_SHORT).show();

                                     dia.dismiss();

                            }

                   });

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: