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);  

 }

2011022022015097.png

让活动看起来很像对话框,浮动在下面的活动之上,部分地遮挡下面的活动。

<activity android:name=”MyDialogActivity”

  android:theme=”@android:style/Theme.Dialog”>

</activity>

更改activity的主题之后,效果如下图所示

2011022022030119.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值