对话框是程序运行中的弹出窗口。例如,当用户要删除一个联系方式时,会弹出一个

对话框,让用户确认是否真的要删除。

Android系统提供了四种对话框:警告对话框 (AlertDialog)、进度对话框(ProgressDialog)、日期选择对话框(DatePickerDialog)和时间选择对话框(TimePickerDialog)

警告对话框(AlertDialog)

AlertDialog是一个提示窗口,要求用户作出选择。该对话框中一般会有几个选择按钮、标题信息和提示信息。

在程序中创建对话框需要如下步骤:

1、获得 AlertDialog的静态内部类 Builder 对象,由该类来创建对话框。

2、通过 Buidler对象设置对话框的标题、按钮以及按钮将要响应的事件。

3、调用Builder的createO方法创建对话框。

4、调用AlertDialog的showO方法显示对话框。

实例代码如下:public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView mytext=(TextView)this.findViewById(R.id.text1);

final AlertDialog.Builder builder=new AlertDialog.Builder(this);//创建builder对象

Button btn1=(Button)this.findViewById(R.id.btn_main1);

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

builder.setMessage("Are you sure!")

.setPositiveButton("OK",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText("success");

}

}).setNegativeButton("CANCEL",new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText("cancel");

}

});

AlertDialog ad=builder.create();

ad.show();

}

});

}

效果如下,点击按键后:

另一种对话框,如下代码:public class MainActivity extends Activity {

private static final int menu1=Menu.FIRST;

private static final int menu2=Menu.FIRST+1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView mytext=(TextView)this.findViewById(R.id.text1);

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

final String[] message={"--------","*******","++++++++"};

Button btn1=(Button)this.findViewById(R.id.btn_main1);

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

//两种不同风格的对话框

builder.setTitle("Please choose...")

.setSingleChoiceItems(message, -1, new DialogInterface.OnClickListener() {

//.setItems(message,new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

mytext.setText(message[arg1]);

}

});

AlertDialog ad=builder.create();

ad.show();

}

});

}

}

以上两种模式如下图:

 

android 对话框窗口,Android 对话框详解(一)相关推荐

  1. Android 之窗口小部件详解--App Widget

    1 App Widget简介 App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新.你可以通过一个App Widge ...

  2. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——1.3节搭建Android应用开发环境...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第1章,第1.3节搭建Android应用开发环境,作者 王石磊 , 吴峥,更多章节内容可以 ...

  3. Android Lint 原理及使用详解

    Android Lint 原理及使用详解 Android Lint 是 ADT 16中引入的新工具,用于扫描 Android 项目源中的潜在错误. Lint 是 Android 提供的一个强大的,用于 ...

  4. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  5. android控件使用大全,Android常见控件使用详解

    本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...

  6. Android之AsyncTask异步任务详解总结

    Android 多线程----AsyncTask异步任务详解 [正文] 本文将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多 ...

  7. Android App优化之ANR详解

    引言 背景:Android App优化, 要怎么做? Android App优化之性能分析工具 Android App优化之提升你的App启动速度之理论基础 Android App优化之提升你的App ...

  8. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.3节简析Android安装文件...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.3节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...

  9. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.1节简析Android安装文件...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.1节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...

  10. android strictmode有什么作用,Android严苛模式StrictMode使用详解

    StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的.举个例子来说,如果开发者在UI线程中进行了 ...

最新文章

  1. 0x11.基本数据结构 — 栈与单调栈
  2. excel导入数据时报错,显示Extracted SQL state class ‘22‘ from value ‘22001‘
  3. 第七讲 一阶常系数线性ODE
  4. 递归下降语法分析程序
  5. VTK:平面源用法实战
  6. 第三章 安装apache
  7. 04.full_text match查询
  8. mysql 列合并_mysql 列转行,合并字段的方法(必看)
  9. P6855-「EZEC-4.5」走方格【dp】
  10. 在win10中通过Anaconda3安装tensorflow
  11. 英语口语-文章朗读Week10 Wednesday
  12. 程序代码传输工具:飞秋官方下载
  13. python写一个类_python3学习笔记--002--写一个类
  14. 摩拜单车又涨价了!真的要骑不起了
  15. html兼容手机浏览器
  16. 凸优化第五章对偶 5.5 最优性条件
  17. (7)numpy.delete删除np数组的某一行或某一列
  18. ddwrt php,DD-WRT官方支持设备列表_ddwrt
  19. 系统管理指南:基本管理 第11 章• x86: 基于GRUB 的引导(任务)
  20. 深度linux如何装win系统,在深度deepin系统中使用deepin-wine自定义安装win程序的方法...

热门文章

  1. LintCode 148. 颜色分类 JavaScript算法
  2. 《全球变化与地球系统科学》章节测试答案
  3. 关于KERNEL_SECURITY_CHECK_FAILURE蓝屏(BSOD)0x00000139错误解决思路
  4. 锐浪报表 Grid++Report PrintPreview 显示模式
  5. java打包apk_APK打包流程
  6. OpenCV中集成目标跟踪算法介绍
  7. Recorder.js HTML5+JS实现网页录音
  8. 7-45 航空公司VIP客户查询 (25分)
  9. 双三次插值 python实现_Python:用GPU实现双三次插值
  10. Android实战之淘宝领券(三)