首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现
效果如下:
上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然后调用show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即可。
下面是带确认和取消按钮的对话框
注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。
下面是一个可以输入文本的对话框
如上代码,我们用setView方法,为我们的对话框传入了一个文本编辑框,当然,你可以传入任何的视图对象,比如图片框,WebView等。。尽情发挥你的想象力吧~:lol
下面是单选框与多选框,也是非常有用的两种对话框
单选和多选对话框应该是我们平时用的非常多的,代码应该很好理解,下面再最后介绍两个、
列表对话框
最后,在对话框中显示图片
我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~ ~,当然这里还可以放上网络图片
也可以用多条文字展示,每一个都是点击,对应着不同的内容。
private String[] provinces = new String[] { "分享", "查看歌手信息", "下载"};
private void tanchaung(int position) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(arr.get(position).getAlbum_title()); /** * 1、public Builder setItems(int itemsId, final OnClickListener * listener) itemsId表示字符串数组的资源ID,该资源指定的数组会显示在列表中。 2、public Builder * setItems(CharSequence[] items, final OnClickListener listener) * items表示用于显示在列表中的字符串数组 */ builder.setItems(provinces, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { /* * * ad变量用final关键字定义,因为在隐式实现的Runnable接口 的run()方法中 需要访问final变量。 * */ switch (which){ case 0://分享的点击处理 break; case 1://查看歌手信息 Intent intent=new Intent(context, SingerInformation.class); context.startActivity(intent); break; case 2://下载的点击处理 break; } } }); builder.create().show(); }