版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Dialog和PopWindowDialog、PopWindow本课学习AlertDialogProgressDialog自定义DialogPopWindow的使用DialogDialog是android开发过程中最常用到的组件之一,它包括以下几种类型:警告对话框:AlertDialog(最常见)进度对话框:ProgressDialog日期选择对话框:DatePickerDialog时间选择对话框:TimePickerDialog自定义对话框:从Dialog继承AlertDialogAlertDialog警告对话框一个可以有0到3个按钮,一个单选框或复选框的,列表的对话框.Builder类提供了为对话框添加多选或单选列表,以及为这些列表添加事件处理的功能。另外,这个Builder类将AlertDialog对话框上的3个按钮按照他们的位置分别称呼为:PositiveButton,
NeutralButton,
NegativeButtonAlertDialog创建一个简单的AlertDialog:final
AlertDialog.Builder
builder=
new
AlertDialog.Builder(this);builder.setTitle("警告");builder.setMessage("确认退出吗?");builder.setIcon(R.drawable.ic_launcher);builder.setPositiveButton("确定",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,int
which){
Log.e(“确定”,“用户点击了确定按钮”);dialog.dismiss();}});builder.setNegativeButton("取消",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,
int
which)
{Log.e(“取消”,“用户点击了取消按钮”);dialog.dismiss();//隐藏dialog}});final
AlertDialog
dialog
=
builder.create();AlertDialog创建一个带单选框的AlertDialog:final
AlertDialog.Builder
builder=new
AlertDialog.Builder(this);builder.setTitle("请选择");builder.setIcon(R.drawable.ic_launcher);builder.setSingleChoiceItems(new
String[]{"语文","数学","英语"},-1,newDialogInterface.OnClickListener()
{@Overridepublic
void
onClick(DialogInterface
dialog,int
which){
Log.e("列表","用户选择了第"+which+"项");}});builder.setPositiveButton("确定",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,
int
which)
{Log.e("确定","用户点击了确定按钮");builder.dismiss();}});dialog.setNegativeButton("取消",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,
int
which)
{Log.e("取消","用户点击了取消按钮");dialog.dismiss();//隐藏dialog}});final
AlertDialog
dialog
=
builder.create();AlertDialog创建一个带复选框的AlertDialog:final
AlertDialog.Builder
builder=new
AlertDialog.Builder(this);builder.setTitle("请选择");builder.setIcon(R.drawable.ic_launcher);builder.setMultiChoiceItems(new
String[]{"语文","数学","英语"},new
boolean[]{false,false,false},newDialogInterface.OnMultiChoiceClickListener()
{@Overridepublic
void
onClick(DialogInterface
dialog,
int
which,boolean
isChecked)
{Log.e("列表","用户点击了第"+which+"项,此项当前状态为"+isChecked);}});builder.setPositiveButton("确定",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,int
which){
Log.e("确定","用户点击了确定按钮");dialog.dismiss();}});builder.setNegativeButton("取消",new
DialogInterface.OnClickListener(){
@Overridepublic
void
onClick(DialogInterface
dialog,
int
which)
{Log.e("取消","用户点击了取消按钮");dialog.dismiss();//隐藏dialog}});final
AlertDialogdialog=builder.create();ProgressDialogProgressDialog进度对话框显示一个进度环或者一个进度条.由于它是AlertDialog的扩展,所以它也支持按钮它可以显示一个进度的动画——进度环或者进度条。这个对话框也可以提供按钮,例如取消一个下载等ProgressDialog默认的进度条final
ProgressDialog
dialog
=
new
ProgressDialog(this);dialog.setTitle("进度条");dialog.setIcon(R.drawable.ic_launcher);dialog.setMessage("请稍后");Button
btn
=
(Button)
findViewById(R.id.btn);btn.setOnClickListener(new
View.OnClickListener()
{@Overridepublic
void
onClick(View
v){
dialog.show();//显示dialog}});ProgressDialog使用一个动画进度条来显示进度dialog
=
new
ProgressDialog(this);dialog.setTitle("进度条");dialog.setIcon(R.drawable.ic_launcher);dialog.setMessage("请稍后");dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);@Overridepublic
void
run()
{
int
progress
=
0;while(progress<100){progress++;dialog.setProgress(progress);try
{Thread.sleep(100);}
catch
(InterruptedException
e)
{e.printStackTrace();}}dialog.dismiss();}自定义Dialog效果如下:自定义Dialog自定义Dialog<?xml
version="1.0"
encoding="utf-8"?><resources><style
name="my_dialog_theme"><itemname="android:windowBackground">@drawable/img_bg</item><item
name="android:windowFrame">@null</item><item
name="android:windowNoTitle">true</item><item
name="android:windowFullscreen">false</item><item
name="android:windowIsFloating">true</item></style></resources>通常来说,必须要重新改写一下Dialog的Theme。在res/vaules/目录下新建dialog_theme.xml文件PopWindow新建一个popupWindow弹出框
popupWindow是一个阻塞式的弹出框,这就意味着在我们退出这个弹出框之前,程序会一直等待,这和AlertDialog不同哦,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 5251-2025水果黄瓜双蔓整枝设施栽培技术规程
- T/CI 951-2025大丝束碳纤维复丝拉伸性能试验方法
- T/CI 1247-2025智慧港口 数字孪生可视化智能平台建设规范
- 《中医教你养肺》课件
- CPE设备测试网络连通性技术讲解
- T/GDAAV 1012-2024进出口预制菜原料 畜禽肉类主要兽药残留检验
- 2026年秋招:恒尊控股集团笔试题及答案
- 2026年秋招:海南交通投资公司面试题及答案
- 骨折与创伤处理方法
- DB32/T 4929-2024大气二氧化碳和甲烷本底浓度筛分技术规范
- 城乡教育公平之困与破局:现状、成因与路径探索
- 2026-2027学年人美版(新版)初中美术九年级上册(全册)教学设计(附目录p89)
- 2026年机关事业单位工勤人员计算机操作员高级工考试试题及答案
- 大连船舶重工集团笔试题目及答案
- 2026年中小学教师师德师风知识考试试题及答案
- T∕CSIA 022-2025企业体验式安全教育基地建设规范
- GB/T 5124.1-2026硬质合金化学分析方法第1部分:总碳量的测定重量法和气体容量法
- 华为运输包装设计规范(内容系统全面)
- 通辽医院医疗垃圾原位处理建设项目环境影响报告表
- 应急管理部关于严格规范安全生产执法行为的通知专题宣贯学习
- 《藻类总结图片》课件
评论
0/150
提交评论