Android控件第7类——对话框

 

1、AlertDialog

  AlertDialog用来生成对话框,功能十分强大。

  AlertDialog可以分成4个组成部分:标题栏上的图标,标题区,文本区,按钮区。

  使用方法:

    • 创建AlertDialog.Builder对象。
    • 对Builder对象设置属性。
    • 然后调用Builder对象的show方法显示AlertDialog;或者调用create方法生成AlertDialog对象,再调用AlertDialog对象收到show方法。

 

  AlertDialog.Builder提供了设置按钮的方法:setPositiveButton()、setNegativeButton()、setNeutralButton()

  可以使用下面6种方式之一为AlertDialog设置显示内容(均为AlertDialog.Builder类的方法):

    • setMessage():内容为简单文本
    • setItems():内容为列表
    • setSingleChoiceItems():内容为单选按钮列表
    • setMultiChoiceItems():内容为多选按钮列表
    • setAdapter():内容为自定义列表项
    • setView():内容为自定义View

      说明:以上6个方法除了setAdapter外,都有重载的方法,其中的一个方法第一个参数为int,指的是string资源

 

2、Activity显示为对话框风格

  Activity默认是占有全屏的,当程序中打开一个新的Activity时,也是完全覆盖了上一个Activity,即使新的Activity中的控件实际占用很小的空间。可以AndroidManifest.xml中设置<activity>的属性,来实现Activity显示成对话框的风格。

    <activity android:name="AtyWindow"
            android:theme="@android:style/Theme.Dialog">
            
       </activity>

 

3、PopupWindow显示对话框

  使用方法:

    • 创建PopupWindow对象
    • 调用PopupWindow对象的showAsDropDown(View v)将PopupWindow作为v控件的下拉组件显示出来;或者调用PopupWindow对象的showAtLocation()方法将PopupWindow在指定位置显示

 

4、DatePickerDialog,继承自AlertDialog

  用AlertDialog对DatePicker进行简单封装。

  在构造函数中传递OnDateSetListener对象监听设置了日期的事件(Positive按钮被按下)。

  使用方法:调用DatePickerDialog的show方法即可。

 

5、TimerPickerDialog,继承自AlertDialog

  用AlertDialog对TimePicker进行简单封装。

  在构造函数中传递OnTimeSetListener对象监听设置了日期的事件(Positive按钮被按下)。

  使用方法:调用TimePickerDialog的show方法即可。

 

6、ProgressDialog,继承自AlertDialog

  显示ProgressDialog的方式有两种:

    • 使用ProgressDialog的静态方法show,这种方式通常用于显示简单的进度条。
    • 创建ProgressDialog对象,对其进行设置,然后调用对象的show方法。

  可以像ProgressBar一样,对ProgressDialog调用setMax和setProgress、incrementProgressBy等方法设置其最大值和当前值等属性。

  和ProgressBar类似,ProgressDialog通常用于在进行耗时操作的时候使用,通常使用多线程来处理。这时不能在其他线程中修改ProgressDialog的进度,只能在主线程中修改,所以通常需要使用Handler来完成这个操作。

  Handler的说明:Android Handler 异步调用修改界面与主线程

 

posted @ 2016-03-15 15:59  环游世界  阅读(479)  评论(0编辑  收藏  举报