Android第七课--Dialog
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的主题之后,效果如下图所示
本文来自博客园,作者:高性能golang,转载请注明原文链接:https://www.cnblogs.com/zhangchaoyang/articles/1959285.html