Android Dialog对话框的七种形式的使用
16lz
2021-01-23
参考资料:http://www.oschina.net/question/54100_32486
注:代码进行了整理
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。
1 //一般的Dialog 2 public void normalDialog(){ 3 AlertDialog.Builder bulider =new Builder(MainActivity.this); 4 bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片 5 bulider.setTitle("提示"); 6 bulider.setMessage("你确定你要关掉它?"); 7 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { 8 9 @Override10 public void onClick(DialogInterface dialog, int arg1) {11 dialog.dismiss();12 MainActivity.this.finish();13 14 }15 });16 bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() {17 18 @Override19 public void onClick(DialogInterface dialog, int arg1) {20 // TODO Auto-generated method stub21 dialog.dismiss();22 }23 });24 bulider.create().show();25 26 }
1 new AlertDialog.Builder(MachineRegister.this) 2 .setTitle("提示") 3 .setMessage("设备注册成功") 4 .setPositiveButton("确定", 5 new DialogInterface.OnClickListener() { 6 7 public void onClick(DialogInterface dialog, 8 int which) { 9 // TODO Auto-generated method 11 12 }13 //当点击返回时,就停留在本界面14 })15 .setNegativeButton("返回", 16 new DialogInterface.OnClickListener() {17 18 public void onClick(DialogInterface dialog,19 int which) {20 21 }22 23 24 }).show();
2.改变了对话框的图表,添加了三个按钮
1 //三个按钮的对话框 2 public void sanDialog(){ 3 AlertDialog.Builder bulider =new Builder(MainActivity.this); 4 bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片 5 bulider.setTitle("提示"); 6 bulider.setMessage("你确定你要关掉它?"); 7 //最左边的按钮(positive :积极地) 8 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { 9 10 @Override11 public void onClick(DialogInterface dialog, int arg1) {12 dialog.dismiss();13 MainActivity.this.finish();14 15 }16 });17 //最右边的钮(negative:消极的)18 bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() {19 20 @Override21 public void onClick(DialogInterface dialog, int arg1) {22 // TODO Auto-generated method stub23 dialog.dismiss();24 }25 });26 //中间的钮27 bulider.setNeutralButton("逗你玩", new DialogInterface.OnClickListener() {28 29 @Override30 public void onClick(DialogInterface arg0, int arg1) {31 // TODO Auto-generated method stub32 33 }34 });35 bulider.create().show();36 37 38 }
3.信息内容是一个简单的View类型
1 //信息内容是一个简单的View类型 2 public void shuruDialog(){ 3 AlertDialog.Builder builder =new Builder(MainActivity.this); 4 builder.setIcon(R.drawable.ic_launcher); 5 builder.setTitle("请输入"); 6 7 //放进去任意简单的view 8 builder.setView(new EditText(this)); 9 builder.setPositiveButton("确定", null);10 builder.setNegativeButton("取消", null);11 12 builder.create().show();13 }
4.信息内容是一组单选框
1 //信息内容是单选框 2 public void danxuanDialog(){ 3 AlertDialog.Builder builder =new Builder(MainActivity.this); 4 builder.setIcon(R.drawable.ic_launcher); 5 builder.setTitle("单选框"); 6 //定义单选框 7 builder.setSingleChoiceItems(new String[]{"item1","item2"} ,0, new DialogInterface.OnClickListener() { 8 9 @Override10 public void onClick(DialogInterface arg0, int arg1) {11 //对选择项绑定事件12 13 }14 }); 15 builder.setNegativeButton("取消", null);16 17 builder.create().show();18 }
5.信息内容是一组多选框
1 //信息内容是复选框 2 public void fuxuanDialog(){ 3 AlertDialog.Builder builder =new Builder(MainActivity.this); 4 builder.setIcon(R.drawable.ic_launcher); 5 builder.setTitle("复选框"); 6 //定义复选框 7 builder.setMultiChoiceItems(new String[]{"item1","item2"}, null, null); 8 builder.setPositiveButton("确定", null); 9 builder.setNegativeButton("取消", null);10 11 builder.create().show();12 }
6.信息内容是一组简单列表项
1 //信息内容是简单地列表项 2 3 public void liebiaoDialog(){ 4 AlertDialog.Builder builder =new Builder(MainActivity.this); 5 builder.setIcon(R.drawable.ic_launcher); 6 builder.setTitle("列表项"); 7 //定义复选框 8 builder.setItems(new String[]{"item1","item2"}, null); 9 builder.setPositiveButton("确定", null); 10 builder.setNegativeButton("取消", null);11 12 builder.create().show();13 }
7.信息内容是一个自定义的布局
dialog布局文件代码如下:
1 <?xml version="1.0" encoding="utf-8"?> 2 3 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 4 android:layout_height="wrap_content" android:layout_width="wrap_content" 5 android:background="#ffffffff" android:orientation="horizontal" 6 android:id="@+id/dialog"> 7 <TextView android:layout_height="wrap_content" 8 android:layout_width="wrap_content" 9 android:id="@+id/tvname" android:text="姓名:" />10 <EditText android:layout_height="wrap_content"11 android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>12 </LinearLayout>
创建dialog方法的代码如下:
LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.dialog, (ViewGroup) findViewById(R.id.dialog)); new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout) .setPositiveButton("确定", null) .setNegativeButton("取消", null).show();
好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。
注意:在使用dialog增加按钮选项的时候,
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
应该是红色字体部分,而写成:
bulider.setPositiveButton("确定", new OnClickListener() {
往往会报错,详细·····
更多相关文章
- Android 去掉运营商STK对话框提示
- Android 对话框(Dialog)大全 建立你自己的对话框
- android 自定义对话框
- android 对话框集合
- Android 列表对话框
- Android对话框图片全屏
- [置顶] Android中以JAR形式封装控件或者类库
- android 长按power键弹出对话框
- android 对话框详解