本讲介绍一下Android基本组件:对话框AlertDialog。
API:
java.lang.Object |
↳ |
android.app.AlertDialog.Builder |
使用AlertDialog.Builder创建对话框需要了解以下几个方法:
- setTitle :为对话框设置标题
- setIcon :为对话框设置图标
- setMessage:为对话框设置内容
- setView : 给对话框设置自定义样式
- setItems :设置对话框要显示的一个list,一般用于显示几个命令时。
- setMultiChoiceItems :用来设置对话框显示一系列的复选框。
- setNeutralButton :
- setPositiveButton :给对话框添加"Yes"按钮
- setNegativeButton :对话框添加"No"按钮
- create : 创建对话框
- show :显示对话框
下面我们来看一下最简单对话框。
这个对话框只是简单的显示内容,使用默认图标,没有按钮,不多说,贴代码:
-
newAlertDialog.Builder(Lesson_01_Pic.this).setTitle("提示标题").setMessage("这是提示内容").show();
(Lesson_02_Dia是类名,请换成自己的!!)
下面我们为这个对话框加个按钮,效果:
代码:
-
newAlertDialog.Builder(Lesson_01_Pic.this)
-
.setTitle("这是标题")
-
.setMessage("这是提示内容")
-
.setPositiveButton("确定",
-
newDialogInterface.OnClickListener(){
-
publicvoidonClick(DialogInterfacedialoginterface,inti){
-
-
Toast.makeText(Lesson_01_Pic.this,"确定",Toast.LENGTH_LONG).show();
-
}
-
}).show();
添加按钮时,需要同时为该按钮指定监听器。
下面,我们修改一个图标,添加两个按钮,同时显示多个选项,先看下效果:
代码:
-
packagecom.yfz;
-
importandroid.app.Activity;
-
importandroid.app.AlertDialog;
-
importandroid.app.Dialog;
-
importandroid.content.DialogInterface;
-
importandroid.content.DialogInterface.OnClickListener;
-
importandroid.content.DialogInterface.OnMultiChoiceClickListener;
-
importandroid.os.Bundle;
-
importandroid.view.View;
-
importandroid.widget.Button;
-
importandroid.widget.Toast;
-
publicclassLesson_02_DiaextendsActivity{
-
-
@Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
-
Buttonbutton=(Button)findViewById(R.id.b01);
-
button.setText("对话框");
-
button.setOnClickListener(newButton.OnClickListener(){
-
@Override
-
publicvoidonClick(Viewv){
-
-
String[]choices={"Facebook","Twitter"};
-
-
boolean[]chsBool={true,false};
-
-
AlertDialogdialog=newAlertDialog.Builder(Lesson_02_Dia.this)
-
.setIcon(android.R.drawable.btn_star_big_on)
-
.setTitle("调查")
-
.setMultiChoiceItems(choices,chsBool,multiClick)
-
.setPositiveButton("Yes",onclick)
-
.setNegativeButton("No",onclick).create();
-
dialog.show();
-
}
-
-
});
-
}
-
-
-
-
-
OnMultiChoiceClickListenermultiClick=newOnMultiChoiceClickListener(){
-
@Override
-
publicvoidonClick(DialogInterfacedialog,intwhich,booleanisChecked){
-
Toast.makeText(Lesson_02_Dia.this,"第"+(which+1)+"项,选中结果:"+isChecked,Toast.LENGTH_SHORT).show();
-
}
-
-
};
-
-
-
-
-
OnClickListeneronclick=newOnClickListener(){
-
@Override
-
publicvoidonClick(DialogInterfacedialog,intwhich){
-
switch(which){
-
caseDialog.BUTTON_NEGATIVE:
-
Toast.makeText(Lesson_02_Dia.this,"No..",
-
Toast.LENGTH_LONG).show();
-
break;
-
caseDialog.BUTTON_NEUTRAL:
-
Toast.makeText(Lesson_02_Dia.this,"Idon'tknow.",
-
Toast.LENGTH_LONG).show();
-
break;
-
caseDialog.BUTTON_POSITIVE:
-
Toast.makeText(Lesson_02_Dia.this,"Yes!!",
-
Toast.LENGTH_LONG).show();
-
break;
-
}
-
}
-
};
-
}
说明已经写在注释中了。
下面再介绍一种比较常用的式样,如图:
代码:
-
@Override
-
publicvoidonCreate(BundlesavedInstanceState){
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.main);
-
-
Buttonbutton=(Button)findViewById(R.id.b01);
-
button.setText("对话框");
-
button.setOnClickListener(newButton.OnClickListener(){
-
@Override
-
publicvoidonClick(Viewv){
-
-
String[]choices={"新浪微博","校内","街旁"};
-
-
AlertDialogdialog=newAlertDialog.Builder(Lesson_02_Dia.this)
-
.setIcon(android.R.drawable.btn_star)
-
.setTitle("分享")
-
.setItems(choices,onselect).create();
-
dialog.show();
-
}
-
});
-
}
-
-
-
-
-
-
OnClickListeneronselect=newOnClickListener(){
-
@Override
-
publicvoidonClick(DialogInterfacedialog,intwhich){
-
-
switch(which){
-
case0:
-
Toast.makeText(Lesson_02_Dia.this,"您选择了新浪微博.",Toast.LENGTH_SHORT).show();
-
break;
-
case1:
-
Toast.makeText(Lesson_02_Dia.this,"您选择了校内",Toast.LENGTH_SHORT).show();
-
break;
-
case2:
-
Toast.makeText(Lesson_02_Dia.this,"您选择了街旁",Toast.LENGTH_SHORT).show();
-
break;
-
}
-
}
-
-
};
好了,今天就写到这,改天写一下,如果在弹出框中做一个登陆界面。
继续补充...先上图...
页面login.xml: 示例写的比较简单,布局大家可以自己完善、修改。
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<TableLayout
-
android:id="@+id/widget36"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
android:orientation="vertical"
-
xmlns:android="http://schemas.android.com/apk/res/android"
-
>
-
<TextView
-
android:id="@+id/widget37"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:text="用户名:"
-
>
-
</TextView>
-
<EditText
-
android:id="@+id/widget38"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:text=""
-
android:textSize="18sp"
-
>
-
</EditText>
-
<TextView
-
android:id="@+id/widget39"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:text="密码:"
-
>
-
</TextView>
-
<EditText
-
android:id="@+id/widget40"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:text=""
-
android:textSize="18sp"
-
>
-
</EditText>
-
</TableLayout>
代码 : (也比较简单)
-
LayoutInflaterfactory=LayoutInflater.from(Lesson_02_Dia.this);
-
-
Viewview=factory.inflate(R.layout.login,null);
-
-
AlertDialogdialog02=newAlertDialog.Builder(Lesson_02_Dia.this)
-
.setIcon(android.R.drawable.btn_star)
-
.setTitle("登录")
-
.setView(view)
-
.setPositiveButton("Yes",onclick)
-
.setNegativeButton("No",onclick).create();
-
dialog02.show();
有问题欢迎大家交流。
分享到:
相关推荐
绝对给力,你想搞成什么颜色都可以的哦,在xml里面设置,好high的对话框,完全自定义Android对话框AlertDialog的实现,编译通过,代码完整
主要介绍了Android对话框AlertDialog.Builder使用方法详解的相关资料,需要的朋友可以参考下
Android快速SDK(4)对话框AlertDialog
完全自定义Android对话框AlertDialog的实现,在Android2.1下编译通过
安卓各种对话框,AlertDialog及其子类,不过只是简单的代码。。
自定义对话框,效果很多, 使用很漂亮的。 备注写明了多种效果的属性设置 Nifty做的。
实例创建了一个AlertDialog.Builder,添加了两个按钮用于跳转和取消,博文地址:http://blog.csdn.net/zhai56565/article/details/8671030
主要为大家详细介绍了Android中自定义对话框AlertDialog使用示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android AlertDialog对话框的类型集合 ,比较全面的讲述了 AlertDialog 的 种类 , Demo 的综合性比较强 , Demo 可直接运行
Android alertDialog对话框.zip源码资源下载Android alertDialog对话框.zip源码资源下载
Android AlertDialog对话框 自定义实现遮罩层
android 使用alertdialog创建自定义对话框
Android源码——alertDialog对话框.zip
可自定义的对话框AlertDialog效果源码,源码mcustom-HerilyAlertDialog-master,完全custom的Android Dialog[HerilyAlertDialog],1.HerilyAlertDialog 是由Herily[虚拟名]研究android对话框源码后的结晶,继承自...
Android Dialog 即 Android对话框,在Android开发中,我们经常会需要在Android界面上弹出一些对话框,以询问用户或者让用户选择。Android Dialog 一般有五种,分别是:一般对话框,列表对话框,单选按钮对话框,多选...
Android alertDialog对话框.rar
Android alertDialog对话框.zip