为了账号安全,请及时绑定邮箱和手机立即绑定

Dialog对话框

标签:
Android

1、对话框的分类

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

                (1)父类:android.app.Dialog

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

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

1.  AlertDialog alertDialog = null;

2.  AlertDialog.Builder builder = new Builder(MainActivity.this);

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

1.  builder.setTitle("警告对话框")// 设置标题

2.         .setIcon(R.drawable.icon18)// 设置标题图标

3.         .setMessage("确定要删除吗?")// 设置标题文本内容

4.         .setPositiveButton("确定", new OnClickListener() {

5.         @Override

6.         public void onClick(DialogInterface dialog, int which) {

7.               // 点击确定按钮要做的事

8.               Toast.makeText(MainActivity.this, "确定",Toast.LENGTH_SHORT).show();})

9.        .setNegativeButton("取消", null)

10.       .setNeutralButton("其他", null);

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

1.  // 通过builder对象创建对话框对象

2.  alertDialog = builder.create();

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

1.  // 显示对话框

2.  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对象

1.  DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {

2.                                              @Override

3.                                    public void onDateSet(DatePicker view, int year,

4.                                                 int monthOfYear, int dayOfMonth) {

5.                                           //选择日期之后调用的方法      注意:参数monthOfYear是0~11

6.                                           Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();

7.                                    }

8.                             }, year, month, day);

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

1.  dialog.show();

                        c.绑定监听器:OnDateSetListener()

1.  Calendar calendar = Calendar.getInstance();

2.  int year = calendar.get(Calendar.YEAR);

3.  int month = calendar.get(Calendar.MONTH);

4.  @Override

5.  public void onDateSet(DatePicker view, int year,

6.  int monthOfYear, int dayOfMonth) {

7.  //选择日期之后调用的方法      注意:参数monthOfYear是0~11                            

8.      Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();

9.  }

        <4>TimerPickerDialog    时间选择对话框

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

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

                        a.创建AlertDialog.Builder对象

1.  AlertDialog.Builder builder = new Builder(this);

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

                        c.自定义布局文件

1.  <?xml version="1.0" encoding="utf-8"?>

2.  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

3.      android:layout_width="match_parent"

4.      android:layout_height="match_parent"

5.      android:orientation="vertical" >

6.      

7.      <TextView

8.          android:layout_width="match_parent"

9.          android:layout_height="wrap_content"

10.         android:text="删除"

11.         android:textSize="30sp"

12.         android:gravity="center"

13.         android:padding="10dp"/>

14.     

15.     <TextureView

16.         android:layout_width="match_parent"

17.         android:layout_height="1dp"

18.         android:background="#ccc"/>

19.  

20.     <TextView

21.         android:layout_width="match_parent"

22.         android:layout_height="wrap_content"

23.         android:text="确定要删除吗?"

24.         android:gravity="center"

25.         android:padding="15dp"

26.         android:textSize="20sp"/>

27.     

28.     <LinearLayout

29.         android:layout_width="match_parent"

30.         android:layout_height="wrap_content"

31.         android:orientation="horizontal"

32.         android:gravity="center">

33.         

34.     <Button

35.         android:id="@+id/btnSure"

36.         android:layout_width="0dp"

37.         android:layout_weight="1"

38.         android:layout_height="wrap_content"

39.         android:text="确定"

40.         />

41.     <Button

42.         android:id="@+id/btnClean"

43.         android:layout_width="0dp"

44.         android:layout_weight="1"

45.         android:layout_height="wrap_content"

46.         android:text="取消"

47.         />

48.     </LinearLayout>

49. </LinearLayout>

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

1.  // 获取布局对象的两种方法

2.  View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);

3.  // view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);

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

1.  builder.setView(view2);// 设置对话框要显示的布局

2.  Button btnSure = (Button) view2.findViewById(R.id.btnSure);

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

1.  customDialog = builder.create();

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

1.  customDialog.show();

        <6>列表对话框

                (1)普通列表对话框

                (2)单选列表对话框

                (3)多选列表对话框

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

原文链接:http://www.apkbus.com/blog-815579-61220.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消