• 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 异步调用修改界面与主线程

  • 相关阅读:
    Cocos2dx引擎10-事件派发
    IE无法打开internet网站已终止操作的解决的方法
    让程序在崩溃时体面的退出之Dump文件
    天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能
    RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
    cocos 3.0 一键打包android平台应该注意的细节
    Matlab画图-非常具体,非常全面
    linux和windows文件名称长度限制
    Javascript的DOM操作
    50个高端大气上档次的管理后台界面模板
  • 原文地址:https://www.cnblogs.com/huanyou/p/5277294.html
Copyright © 2020-2023  润新知