我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 对话框 Dialog使用实例讲解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 对话框 Dialog使用实例讲解

对话框 Dialog

什么是对话框

对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, 退出提示.

对话框的特点:

1, 当前界面弹出的小窗口.

2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户.

常用对话框:

1, 普通对话框 AlertDialog

2, 进度条对话框 ProgressDialog

3, 日期对话框 DatePickerDialog

4, 时间对话框 TimePickerDialog

5, 自定义对话框

常用普通对话框 AlertDialog

1, 普通列表对话框 setItems -- onClickListener

2, 单选对话框 setSingleChoiceItems -- onClickListener

3, 多选对话框 setMultiChoiceItems --- > onMultiChoiceClickListener

4, 适配器对话框 setAdapter -- onClickListener


package com.qf.day11_dialog_01; 
import java.util.Calendar; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.DatePickerDialog; 
import android.app.DatePickerDialog.OnDateSetListener; 
import android.app.ProgressDialog; 
import android.app.TimePickerDialog; 
import android.app.TimePickerDialog.OnTimeSetListener; 
import android.content.DialogInterface; 
import android.content.DialogInterface.OnClickListener; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.TimePicker; 
import android.widget.Toast; 
public class MainActivity extends Activity { 
private EditText name; 
private EditText pwd; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
} 
public void showAlertDialog(View v) 
{ 
//1, 定义普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
//2, 构建对话框 
builder.setIcon(R.drawable.img_23);//设置图标 
builder.setTitle("提示");//设置标题 
builder.setMessage("是否确认退出?");//设置内容 
//设置取消按钮 
 
builder.setNegativeButton("取消", null); 
//设置确定按钮 
builder.setPositiveButton("确定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
finish(); 
} 
}); 
//3, 显示对话框 
builder.show(); 
} 
public void showProgressDialog(View v) 
{ 
//1, 得到ProgressDialog的对象 
ProgressDialog pDialog = new ProgressDialog(this); 
//2, 构建对话框 
pDialog.setIcon(R.drawable.img_14); 
pDialog.setTitle("提示"); 
pDialog.setMessage("正在加载, 请稍后...."); 
pDialog.setCancelable(true);//是否可撤销 true 可以 false 不可以 
//设置进度条对话框的样式 
//ProgressDialog.STYLE_HORIZONTAL 水平的 
//ProgressDialog.STYLE_SPINNER 转圈的 
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
//3, 显示对话框 
pDialog.show(); 
//pDialog.dismiss();//对话框消失 
pDialog.setProgress(50);//设置进度值, 在显示对话后,才可以设置 
} 
public void showDatePickerDialog(View v) 
{ 
//获取系统的当前日期 
Calendar calendar = Calendar.getInstance(); 
int year = calendar.get(Calendar.YEAR); 
int monthOfYear = calendar.get(Calendar.MONTH); 
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); 
//1, 创建带有日期选择器的对话框 
 
DatePickerDialog dPDialog = new DatePickerDialog(this,new OnDateSetListener() { 
 
@Override 
public void onDateSet(DatePicker view, int year, int monthOfYear, 
int dayOfMonth) { 
//选择后的日期监听 
Toast.makeText(MainActivity.this, year+"-"+(monthOfYear+1)+"-"+dayOfMonth, Toast.LENGTH_SHORT).show(); 
} 
}, year, monthOfYear, dayOfMonth); 
//2, 显示对话框 
dPDialog.show(); 
} 
public void showTimePickerDialog(View v) 
{ 
//1, 创建带有时间选择器的对话框 
 
TimePickerDialog tpDialog = new TimePickerDialog(this, new OnTimeSetListener() { 
@Override 
public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
Toast.makeText(MainActivity.this, hourOfDay + " :" + minute, Toast.LENGTH_SHORT).show(); 
} 
}, 15, 17, true); 
//2, 显示对话框 
tpDialog.show(); 
} 
//自定义对话框(在普通对话框基础上实现) 
public void showCustomDialog(View v) 
{ 
//1, 得到普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
//2, 构建对话框 
builder.setIcon(R.drawable.img_23); 
builder.setTitle("用户登陆"); 
//3, 为对话框设置自定义的视图 
View view = getLayoutInflater().inflate(R.layout.login, null); 
name = (EditText) view.findViewById(R.id.name); 
pwd = (EditText) view.findViewById(R.id.pwd); 
builder.setView(view); 
//为对话框添加 按钮 
builder.setNegativeButton("取消", null); 
builder.setPositiveButton("登陆", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
String info = name.getText().toString()+", "+ pwd.getText().toString(); 
Toast.makeText(MainActivity.this, info, Toast.LENGTH_SHORT).show(); 
} 
}); 
//4, 显示对话框 
builder.show(); 
} 
} 


package com.qf.day11_dialog_02; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.content.DialogInterface.OnClickListener; 
import android.content.DialogInterface.OnMultiChoiceClickListener; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 
public class MainActivity extends Activity { 
private TextView tv; 
private int position;//单选列表的 中间转接 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
tv = (TextView) findViewById(R.id.tv); 
} 
//普通列表对话框 
public void showCommon(View v) 
{ 
//1, 得到普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("选择颜色"); 
//2, 设置列表 
//getResources().getStringArray(id) 
builder.setItems(R.array.colors, new OnClickListener() { 
 
@Override 
public void onClick(DialogInterface dialog, int which) { 
switch (which) { 
case 0: 
tv.setTextColor(Color.RED); 
break; 
case 1: 
tv.setTextColor(Color.GREEN); 
break; 
case 2: 
tv.setTextColor(Color.BLUE); 
break; 
} 
} 
}); 
//3, 显示对话框 
builder.show(); 
} 
//单选列表 
public void showSingle(View v) 
{ 
//1, 得到普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("设置文字大小"); 
//2, 设置单选列表 
 
builder.setSingleChoiceItems(R.array.sizes, -1, new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// 把当前选中的Item的下标 赋值给全局的变量 position 
position = which; 
} 
}); 
builder.setPositiveButton("确定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO 根据全局的position 判断该执行什么样的操作 
switch (position) { 
case 0: 
tv.setTextSize(20); 
break; 
case 1: 
tv.setTextSize(30); 
break; 
case 2: 
tv.setTextSize(40); 
break; 
} 
} 
}); 
//3, 显示对话框 
builder.show(); 
} 
//多选列表 
public void showMulti(View v) 
{ 
//1, 得到普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("设置内容"); 
//2, 设置多选列表 
 
//得到所有的数据 
final String[] hobbys = getResources().getStringArray(R.array.hobbys); 
//选中的Item 
final boolean[] checkedItems = new boolean[hobbys.length]; 
builder.setMultiChoiceItems(R.array.hobbys, checkedItems, new OnMultiChoiceClickListener() { 
 
@Override 
public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
//改变boolean[] 中状态 
checkedItems[which] = isChecked; 
} 
}); 
builder.setPositiveButton("确定", new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
StringBuilder sBuilder = new StringBuilder(); 
for(int i=0;i<checkedItems.length;i++) 
{ 
if(checkedItems[i]) 
{ 
sBuilder.append(hobbys[i]).append(" "); 
} 
} 
tv.setText(sBuilder.toString()); 
} 
}); 
//3, 显示对话框 
builder.show(); 
} 
//适配器列表 
public void showAdapter(View v) 
{ 
//1, 得到普通对话框的构建者 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setIcon(R.drawable.ic_launcher); 
builder.setTitle("选择设置"); 
//2, 设置适配器 
String[] data = getResources().getStringArray(R.array.settings); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_1, 
data); 
builder.setAdapter(adapter, new OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
Intent intent = new Intent(); 
switch (which) { 
case 0: 
intent.setAction("android.settings.WIFI_SETTINGS"); 
break; 
case 1: 
intent.setAction("android.settings.SOUND_SETTINGS"); 
break; 
case 2: 
intent.setAction("android.settings.SETTINGS"); 
break; 
} 
startActivity(intent); 
} 
}); 
//3, 显示对话框 
//builder.show(); 
builder.create().show(); 
} 
} 

以上所述是小编给大家介绍的Android 对话框 Dialog使用实例讲解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:Android中自定义对话框(Dialog)的实例代码8种android 对话框(Dialog)使用方法详解属于自己的Android对话框(Dialog)自定义集合Android中制作自定义dialog对话框的实例分享Android Dialog对话框详解Android Dialog对话框用法实例详解Android Dialog 对话框详解及示例代码Android 对话框(Dialog)大全示例(建立你自己的对话框)Android中Dialog对话框的使用小结


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 对话框 Dialog使用实例讲解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 对话框 Dialog使用实例讲解

对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2,
2022-06-06

Android Dialog对话框用法实例详解

本文实例讲述了Android Dialog对话框用法。分享给大家供大家参考,具体如下: Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(i
2022-06-06

Android Dialog对话框详解

废话不多说了,直接给大家贴代码了。 布局文件xml:2022-06-06

Android UI系列-----Dialog对话框示例

在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框。 一、Dialog 我们首先来看看android官方文档对Dialog的介绍 A di
2022-06-06

Android Dialog 对话框详解及示例代码

Android Dialog 对话框 1、Dialog介绍 2、AlertDialog的基本使用 3、自定义对话框 Custom Dialog一、Dialog介绍 Dialog也是Android中常用的用户界面元素,他同Menu一样也不是
2022-06-06

8种android 对话框(Dialog)使用方法详解

本文汇总了android 8种对话框(Dialog)使用方法,分享给大家供大家参考,具体内容如下 1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮)、列表、单选、多
2022-06-06

Android 对话框(Dialog)大全示例(建立你自己的对话框)

Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(
2022-06-06

Android 常见的四种对话框实例讲解

1、对话框通知(Dialog Notification)当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用对话框来完成。下面代码将打开一个如图所示的对话框:public void click1(View view) { Ale
2022-06-06

Android 对话框(Dialog)大全详解及示例代码

Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(
2022-06-06

Android中自定义对话框(Dialog)的实例代码

1.修改系统默认的Dialog样式(风格、主题)2.自定义Dialog布局文件3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步:  我们知道Androi
2022-06-06

Android开发之利用Activity实现Dialog对话框

前言在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决。对话框是个好东西,创建简单有实用。当下的开发中,很多的开发者反而更喜欢使用activity来代替对话框,至
2022-06-06

Android中制作自定义dialog对话框的实例分享

自定义dialog基础版 很多时候,我们在使用android sdk提供的alerdialog的时候,会因为你的系统的不同而产生不同的效果,就好比如你刷的是MIUI的系统,弹出框都会在顶部显示!这里简单的介绍自定义弹出框的应用。 首先创建布
2022-06-06

详解Android Dialog对话框的五种形式

Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义对话框。当然学会系统的,自定义就简单了
2023-05-31

Android实现自定义圆角对话框Dialog的示例代码

前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框。 对话框包括:1、圆角2、app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1、对话框边框圆角显示2、考虑到提示文本字数不确定,在不影响美观的情况下,需
2022-06-06

Android AlertDialog对话框详解及实例

Android AlertDialog关系图如下: Android主要提供四种对话框: 1:AlertDialog:功能最丰富,实际应用最广的对话框。 2:ProgressDialog:进度条对话框 3:DatePickerDialo
2022-06-06

Android自定义对话框Dialog的简单实现

本文着重研究了自定义对话框,通过一下步骤即可清晰的理解原理,通过更改界面设置和style类型,可以应用在各种各样适合自己的App中。首先来看一下效果图:首先是activity的界面点击了上述图片的按钮后,弹出对话框:点击对话框的确定按钮:点
2023-05-30

Android使用AlertDialog实现对话框

示例: 一、确定对话框AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("确认对话框");builder.setIcon(R.drawa
2022-06-06

Android复选框对话框用法实例简析

本文实例分析了Android复选框对话框用法。分享给大家供大家参考,具体如下:/** * 创建筛选复选框对话框 * @param guoguanglist 联赛名 * @param flags 是否选择 * @create_time 201
2022-06-06

如何在Android中利用Dialog实现一个对话框功能

今天就跟大家聊聊有关如何在Android中利用Dialog实现一个对话框功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、普通对话框AlertDialog.Builder bui
2023-05-31

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录