Android Dialog 7个使用举例(转)

  在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1、该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

 

  创建dialog对话框方法代码如下:

 1 protected void dialog() {
 2     AlertDialog.Builder builder = new Builder(Main.this);
 3     builder.setMessage("确认退出吗?");
 4     builder.setTitle("提示");
 5     builder.setPositiveButton("确认", new OnClickListener() {
 6         @Override
 7         public void onClick(DialogInterface dialog, int which) {
 8             dialog.dismiss();
 9             Main.this.finish();
10         }
11     });
12     builder.setNegativeButton("取消", new OnClickListener() {
13         @Override
14         public void onClick(DialogInterface dialog, int which) {
15             dialog.dismiss();
16         }
17     });
18     builder.create().show();
19 }

  在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法 

1 public boolean onKeyDown(int keyCode, KeyEvent event) {
2     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
3         dialog();
4     }
5     return false;
6 }

2、改变了对话框的图表,添加了三个按钮

  创建dialog的方法代码如下:

 1 Dialog dialog = new AlertDialog.Builder(this)
 2     .setIcon(android.R.drawable.btn_star)
 3     .setTitle("喜好调查")
 4     .setMessage("你喜欢李连杰的电影吗?")
 5     .setPositiveButton("很喜欢", new OnClickListener() {
 6         @Override
 7         public void onClick(DialogInterface dialog, int which) {
 8             // TODO Auto-generated method stub
 9             Toast.makeText(Main.this, "我很喜欢他的电影。",
10             Toast.LENGTH_LONG).show();
11         }
12     })
13     .setNegativeButton("不喜欢", new OnClickListener() {
14         @Override
15         public void onClick(DialogInterface dialog, int which) {
16             // TODO Auto-generated method stub
17             Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
18             .show();
19         }
20     })
21     .setNeutralButton("一般", new OnClickListener() {
22         @Override
23         public void onClick(DialogInterface dialog, int which) {
24             // TODO Auto-generated method stub
25             Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
26             .show();
27         }
28     })
29     .create();
30 dialog.show();

3、信息内容是一个简单的View类型

 

  创建dialog方法的代码如下:

1 new AlertDialog.Builder(this)
2     .setTitle("请输入")
3     .setIcon(android.R.drawable.ic_dialog_info)
4     .setView(new EditText(this))
5     .setPositiveButton("确定", null)
6     .setNegativeButton("取消", null)
7     .show();

4、信息内容是一组单选框

 

  创建dialog方法的代码如下:

1 new AlertDialog.Builder(this)
2     .setTitle("复选框")
3     .setMultiChoiceItems(new String[] { "Item1", "Item2" }, null, null)
4     .setPositiveButton("确定", null)
5     .setNegativeButton("取消", null)
6     .show();

5、信息内容是一组多选框

  创建dialog方法的代码如下:

 1 new AlertDialog.Builder(this)
 2 .setTitle("单选框")
 3 .setIcon(android.R.drawable.ic_dialog_info)
 4 .setSingleChoiceItems(new String[] { "Item1", "Item2" }, 0, new DialogInterface.OnClickListener() {
 5     public void onClick(DialogInterface dialog, int which) {
 6         dialog.dismiss();
 7     }
 8 })
 9 .setNegativeButton("取消", null)
10 .show();

6、信息内容是一组简单列表项

  创建dialog的方法代码如下:

1 new AlertDialog.Builder(this)
2     .setTitle("列表框")
3     .setItems(new String[] { "Item1", "Item2" }, null)
4     .setNegativeButton("确定", null)
5     .show();

7、信息内容是一个自定义的布局

  dialog布局文件代码如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_height="wrap_content" 
 4     android:layout_width="wrap_content"
 5     android:background="#ffffffff" 
 6     android:orientation="horizontal"
 7     android:id="@+id/dialog">
 8     <TextView android:layout_height="wrap_content"
 9         android:layout_width="wrap_content"
10         android:id="@+id/tvname" 
11         android:text="姓名:" />
12     <EditText android:layout_height="wrap_content"
13         android:layout_width="wrap_content" 
14         android:id="@+id/etname" 
15         android:minWidth="100dip"/>
16 </LinearLayout>

  创建dialog方法的代码如下:

1 LayoutInflater inflater = getLayoutInflater();
2 View layout = inflater.inflate(R.layout.dialog, (ViewGroup) findViewById(R.id.dialog));
3 new AlertDialog.Builder(this)
4     .setTitle("自定义布局")
5     .setView(layout)
6     .setPositiveButton("确定", null)
7     .setNegativeButton("取消", null)
8     .show();

  好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。

转载于:https://www.cnblogs.com/myxiaoQ/articles/3680196.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值