Android 对话框详解(一)
对话框是程序运行中的弹出窗口。例如,当用户要删除一个联系方式时,会弹出一个
对话框,让用户确认是否真的要删除。
Android系统提供了四种对话框:警告对话框 (AlertDialog)、进度对话框(ProgressDialog)、日期选择对话框(DatePickerDialog)和时间选择对话框(TimePickerDialog)
警告对话框(AlertDialog)
AlertDialog是一个提示窗口,要求用户作出选择。该对话框中一般会有几个选择按钮、标题信息和提示信息。
在程序中创建对话框需要如下步骤:
1、获得 AlertDialog的静态内部类 Builder 对象,由该类来创建对话框。
2、通过 Buidler对象设置对话框的标题、按钮以及按钮将要响应的事件。
3、调用Builder的createO方法创建对话框。
4、调用AlertDialog的showO方法显示对话框。
实例代码如下:
publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finalTextViewmytext=(TextView)this.findViewById(R.id.text1);finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);//创建builder对象Buttonbtn1=(Button)this.findViewById(R.id.btn_main1);btn1.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstubbuilder.setMessage("Areyousure!").setPositiveButton("OK",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacearg0,intarg1){//TODOAuto-generatedmethodstubmytext.setText("success");}}).setNegativeButton("CANCEL",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacearg0,intarg1){//TODOAuto-generatedmethodstubmytext.setText("cancel");}});AlertDialogad=builder.create();ad.show();}});}}
效果如下,点击按键后:
另一种对话框,如下代码:
publicclassMainActivityextendsActivity{privatestaticfinalintmenu1=Menu.FIRST;privatestaticfinalintmenu2=Menu.FIRST+1;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finalTextViewmytext=(TextView)this.findViewById(R.id.text1);finalAlertDialog.Builderbuilder=newAlertDialog.Builder(this);finalString[]message={"--------","*******","++++++++"};Buttonbtn1=(Button)this.findViewById(R.id.btn_main1);btn1.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstub//两种不同风格的对话框builder.setTitle("Pleasechoose...").setSingleChoiceItems(message,-1,newDialogInterface.OnClickListener(){//.setItems(message,newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacearg0,intarg1){//TODOAuto-generatedmethodstubmytext.setText(message[arg1]);}});AlertDialogad=builder.create();ad.show();}});}}
以上两种模式如下图:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。