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.向用户呈现一条消息,并提供一到三个按钮,如常见的OKCancelYesNo

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


posted @ 2011-02-20 21:58  高性能golang  阅读(947)  评论(0编辑  收藏  举报