android 对话框窗口,Android 对话框详解(一)
对话框是程序运行中的弹出窗口。例如,当用户要删除一个联系方式时,会弹出一个
对话框,让用户确认是否真的要删除。
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 对话框详解(一)相关推荐
- Android 之窗口小部件详解--App Widget
1 App Widget简介 App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新.你可以通过一个App Widge ...
- 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——1.3节搭建Android应用开发环境...
本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第1章,第1.3节搭建Android应用开发环境,作者 王石磊 , 吴峥,更多章节内容可以 ...
- Android Lint 原理及使用详解
Android Lint 原理及使用详解 Android Lint 是 ADT 16中引入的新工具,用于扫描 Android 项目源中的潜在错误. Lint 是 Android 提供的一个强大的,用于 ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- android控件使用大全,Android常见控件使用详解
本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...
- Android之AsyncTask异步任务详解总结
Android 多线程----AsyncTask异步任务详解 [正文] 本文将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多 ...
- Android App优化之ANR详解
引言 背景:Android App优化, 要怎么做? Android App优化之性能分析工具 Android App优化之提升你的App启动速度之理论基础 Android App优化之提升你的App ...
- 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.3节简析Android安装文件...
本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.3节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...
- 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.1节简析Android安装文件...
本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.1节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...
- android strictmode有什么作用,Android严苛模式StrictMode使用详解
StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的.举个例子来说,如果开发者在UI线程中进行了 ...
最新文章
- 0x11.基本数据结构 — 栈与单调栈
- excel导入数据时报错,显示Extracted SQL state class ‘22‘ from value ‘22001‘
- 第七讲 一阶常系数线性ODE
- 递归下降语法分析程序
- VTK:平面源用法实战
- 第三章 安装apache
- 04.full_text match查询
- mysql 列合并_mysql 列转行,合并字段的方法(必看)
- P6855-「EZEC-4.5」走方格【dp】
- 在win10中通过Anaconda3安装tensorflow
- 英语口语-文章朗读Week10 Wednesday
- 程序代码传输工具:飞秋官方下载
- python写一个类_python3学习笔记--002--写一个类
- 摩拜单车又涨价了!真的要骑不起了
- html兼容手机浏览器
- 凸优化第五章对偶 5.5 最优性条件
- (7)numpy.delete删除np数组的某一行或某一列
- ddwrt php,DD-WRT官方支持设备列表_ddwrt
- 系统管理指南:基本管理 第11 章• x86: 基于GRUB 的引导(任务)
- 深度linux如何装win系统,在深度deepin系统中使用deepin-wine自定义安装win程序的方法...
热门文章
- LintCode 148. 颜色分类 JavaScript算法
- 《全球变化与地球系统科学》章节测试答案
- 关于KERNEL_SECURITY_CHECK_FAILURE蓝屏(BSOD)0x00000139错误解决思路
- 锐浪报表 Grid++Report PrintPreview 显示模式
- java打包apk_APK打包流程
- OpenCV中集成目标跟踪算法介绍
- Recorder.js HTML5+JS实现网页录音
- 7-45 航空公司VIP客户查询 (25分)
- 双三次插值 python实现_Python:用GPU实现双三次插值
- Android实战之淘宝领券(三)