Android第四十一天(2)

隐身守侯 提交于 2020-03-02 18:36:40

1、对话框的分类

        <1>AlertDialog    警告对话框(提示对话框)

                (1)父类:android.app.Dialog

                (2)创建AlertDialog对话框的步骤

                        a.创建AlertDialog.Builder对象,该对象能创建AlertDialog;


AlertDialog alertDialog = null;
AlertDialog.Builder builder = new Builder(MainActivity.this);

                            b.调用Builder对象的方法设置图标、标题、内容、按钮等;

    
    builder.setTitle("警告对话框")// 设置标题
    .setIcon(R.drawable.icon18)// 设置标题图标
    .setMessage("确定要删除吗?")// 设置标题文本内容
    .setPositiveButton("确定", new OnClickListener() {
         @Override
    public void onClick(DialogInterface dialog, int which) {
    // 点击确定按钮要做的事
    Toast.makeText(MainActivity.this, "确定",Toast.LENGTH_SHORT).show();})
         .setNegativeButton("取消", null)
         .setNeutralButton("其他", null);

                              c.调用Builder对象的create()方法创建AlertDialog对话框.setCanceledOnTouchOutside(false):点击对话框以外对话框不消失

      
      // 通过builder对象创建对话框对象
      alertDialog = builder.create();

                                d.调用AlertDialog的show()方法来显示对话框

        
        // 显示对话框
        alertDialog.show();

                  <2>ProgressDialog    进度对话框

                          (1)父类:android.app.AlertDialog

                          (2)创建ProgressDialog对话框的步骤:

                                  a.实例化ProgressDialog,创建出ProgressDialog对象

                                  b.调用该对象的方法设置图标、标题、内容、按钮等

                                  c.调用 ProgressDialog 对象的show()方法显示出 ProgressDialog 对话框

                  <3>DatePickerDialog    日期选择对话框

                          (1)父类:android.app.AlertDialog

                          (2)创建DatePickerDialog对话框的步骤:

                                  a.实例化DatePickerDialog,创建出 DatePickerDialog对象

          
          DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {
          @Override
          public void onDateSet(DatePicker view, int year,
          int monthOfYear, int dayOfMonth) {
          //选择日期之后调用的方法 注意:参数monthOfYear是0~11
          Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
          }
          }, year, month, day);

                                    b.调用DatePickerDialog对象的show()方法显示出DatePickerDialog对话框

            
            dialog.show();

                                      c.绑定监听器:OnDateSetListener()

              
              Calendar calendar = Calendar.getInstance();
              int year = calendar.get(Calendar.YEAR);
              int month = calendar.get(Calendar.MONTH);
              @Override
              public void onDateSet(DatePicker view, int year,
              int monthOfYear, int dayOfMonth) {
              //选择日期之后调用的方法 注意:参数monthOfYear是0~11
                  Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
              }

                        <4>TimerPickerDialog    时间选择对话框

                        <5>自定义对话框(登录对话框、关于对话框)

                                (1)AlertDialog——自定义对话框的创建步骤:

                                        a.创建AlertDialog.Builder对象

                
                AlertDialog.Builder builder = new Builder(this);

                                          b.设置对话框的标题、按钮等(既可以使用系统自带的,也可以自定义)

                                          c.自定义布局文件

                  
                  <?xml version="1.0" encoding="utf-8"?>
                  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="vertical" >
                  
                  <TextView
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="删除"
                  android:textSize="30sp"
                  android:gravity="center"
                  android:padding="10dp"/>
                  
                  <TextureView
                  android:layout_width="match_parent"
                  android:layout_height="1dp"
                  android:background="#ccc"/>
                  
                  <TextView
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="确定要删除吗?"
                  android:gravity="center"
                  android:padding="15dp"
                  android:textSize="20sp"/>
                  
                  <LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:orientation="horizontal"
                  android:gravity="center">
                  
                  <Button
                  android:id="@+id/btnSure"
                  android:layout_width="0dp"
                  android:layout_weight="1"
                  android:layout_height="wrap_content"
                  android:text="确定"
                  />
                  <Button
                  android:id="@+id/btnClean"
                  android:layout_width="0dp"
                  android:layout_weight="1"
                  android:layout_height="wrap_content"
                  android:text="取消"
                  />
                  </LinearLayout>
                  </LinearLayout>

                                            d.使用LayoutInflater 的 inflater()方法填充自定义的布局文件,返回view对象。用该对象的findViewById()方法加载自定义布局上所有控件;

                    
                    // 获取布局对象的两种方法
                    View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
                    // view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);

                                              e.调用Builder对象的setView()方法加载view对象;

                      
                      builder.setView(view2);// 设置对话框要显示的布局
                      Button btnSure = (Button) view2.findViewById(R.id.btnSure);

                                                f.调用Builder对象的create()方法创建AlertDialog对话框;

                        
                        customDialog = builder.create();

                                                  g.调用AlertDialog的show()方法来显示对话框

                          
                          customDialog.show();

                                    <6>列表对话框

                                            (1)普通列表对话框

                                            (2)单选列表对话框

                                            (3)多选列表对话框

                                            (4)带图标的列表对话框

                            标签
                            易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
                            该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!