您的位置:首页 > 移动开发 > Android开发

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的主题之后,效果如下图所示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: