Android第七课--Dialog
2013-01-05 18:25
134 查看
Dialog
d=new Dialog(MyActivity.this);
//绘制一个新的窗口,并模糊它所遮挡的窗口
Window
window=d.getWindow();
window.setFlags(WindwManager.LayoutParams.FLAG_BLUR_BEHIND,
WindwManager.LayoutParams.FLAG_BLUR_BEHIND);
d.setTitle(“Dialog
title”);
d.setContentView(R.layout.dialog_view);
d.show();
AlertDialog类
1.向用户呈现一条消息,并提供一到三个按钮,如常见的OK、Cancel、Yes或No。
2.以复选或单选框的方式提供一个选项列表。
3.提供一个文本输入框。
Context
context=MyActivity.this;
AlertDialog.Builder
ad=new AlertDialog.Builder(context);
ad.setTitle(“Alert
Title”);
ad.setMessage(“You
met a grue”);
ad.setPositiveButton(“Back”,new
OnClickListener(){
public
void onClick(DialogInterface dialog,int arg1){
//Do
Somrthing
}
});
ad.setNegtiveButton(“Forward”,new
OnClickListener(){
public
void onClick(DialogInterface dialog,int arg1){
//Do
Somrthing
}
});
ad.setCancelable(true);
ad.setCancelListener(new
OnCancelListener(){
public void onCancel(DialogInterface
dialog){
//Do
Something
}
});
ad.show();
专用输入Dialog
DatePickerDialog选择日期
TimePickerDialog选择时间
ProgressDialog进度条
使用和管理对话框
通过重写onCreateDialog方法,可以在使用showDialog显示一个特定对话对话框的时候,指定需要创建的对话对话框。
在第1次创建之后,每次调用showDialog时都会触发onPrepareDialog,在显示一个对话框之前立即对它进行修改。
static
final private int TIME_DIALOG=1;
@Override
public
Dialog onCreateDialog(int id){
switch(id){
case
(TIME_DIALOG):
AlertDialog.Builder
timeDialog=new AlertDialog.Builder(this);
timeDialog.setTitle(“The
Current Time is...”);
timeDialog.setMessage(“Now”);
return
timeDialog.create();
}
return
null;
}
@Override
public
void onPrepareDialog(int id, Dialog dialog){
switch(id){
case
(TIME_DIALOG):
SimpleDateFormat
sdf=new SimpleDateFormat(“HH:mm:ss”);
Date
currentTime;
currentTime=new
Date(java.lang.System.currentTimeMillis());
String
dateString=sdf.format(currentTime);
AlertDialog
timeDialog=(AlertDialog)dialog;
timeDialog.setMessage(dateString);
break;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showDialog( TIME_DIALOG);
}
让活动看起来很像对话框,浮动在下面的活动之上,部分地遮挡下面的活动。
<activity
android:name=”MyDialogActivity”
android:theme=”@android:style/Theme.Dialog”>
</activity>
更改activity的主题之后,效果如下图所示
d=new Dialog(MyActivity.this);
//绘制一个新的窗口,并模糊它所遮挡的窗口
Window
window=d.getWindow();
window.setFlags(WindwManager.LayoutParams.FLAG_BLUR_BEHIND,
WindwManager.LayoutParams.FLAG_BLUR_BEHIND);
d.setTitle(“Dialog
title”);
d.setContentView(R.layout.dialog_view);
d.show();
AlertDialog类
1.向用户呈现一条消息,并提供一到三个按钮,如常见的OK、Cancel、Yes或No。
2.以复选或单选框的方式提供一个选项列表。
3.提供一个文本输入框。
Context
context=MyActivity.this;
AlertDialog.Builder
ad=new AlertDialog.Builder(context);
ad.setTitle(“Alert
Title”);
ad.setMessage(“You
met a grue”);
ad.setPositiveButton(“Back”,new
OnClickListener(){
public
void onClick(DialogInterface dialog,int arg1){
//Do
Somrthing
}
});
ad.setNegtiveButton(“Forward”,new
OnClickListener(){
public
void onClick(DialogInterface dialog,int arg1){
//Do
Somrthing
}
});
ad.setCancelable(true);
ad.setCancelListener(new
OnCancelListener(){
public void onCancel(DialogInterface
dialog){
//Do
Something
}
});
ad.show();
专用输入Dialog
DatePickerDialog选择日期
TimePickerDialog选择时间
ProgressDialog进度条
使用和管理对话框
通过重写onCreateDialog方法,可以在使用showDialog显示一个特定对话对话框的时候,指定需要创建的对话对话框。
在第1次创建之后,每次调用showDialog时都会触发onPrepareDialog,在显示一个对话框之前立即对它进行修改。
static
final private int TIME_DIALOG=1;
@Override
public
Dialog onCreateDialog(int id){
switch(id){
case
(TIME_DIALOG):
AlertDialog.Builder
timeDialog=new AlertDialog.Builder(this);
timeDialog.setTitle(“The
Current Time is...”);
timeDialog.setMessage(“Now”);
return
timeDialog.create();
}
return
null;
}
@Override
public
void onPrepareDialog(int id, Dialog dialog){
switch(id){
case
(TIME_DIALOG):
SimpleDateFormat
sdf=new SimpleDateFormat(“HH:mm:ss”);
Date
currentTime;
currentTime=new
Date(java.lang.System.currentTimeMillis());
String
dateString=sdf.format(currentTime);
AlertDialog
timeDialog=(AlertDialog)dialog;
timeDialog.setMessage(dateString);
break;
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showDialog( TIME_DIALOG);
}
让活动看起来很像对话框,浮动在下面的活动之上,部分地遮挡下面的活动。
<activity
android:name=”MyDialogActivity”
android:theme=”@android:style/Theme.Dialog”>
</activity>
更改activity的主题之后,效果如下图所示
相关文章推荐
- Android菜鸟练习第七课 自定义dialog
- Android之Dialog详解
- Android—AlertDialog提示信息
- Android 对话框(Dialog)
- android之AlertDialog 点击其他区域自动消失
- android全局Dialog
- Android Dialog背景全透明无边框 Theme Style
- Android开发基础之AlertDialog的列表对话框的使用
- Android中利用反射机制来控制AlertDialog窗口不被关闭
- android 自定义 Dialog
- Android学习专题-控件组件篇:Dialog汇总
- Android Dialog在底部显示且宽度match_parent
- Android软件开发之盘点所有Dialog对话框大合集
- Android 对话框【Dialog】去除白色边框代码
- android开发之Dialog和Toast
- 用AndroidWheel自定义DatePicker及DatePickerDialog
- android 自定义Dialog背景透明及显示位置设置
- android 针对MIUI系统Dialog显示
- Android:自定义DialogFragment
- Android自定义类似ProgressDialog效果的Dialog