我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?
幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,不需要再去写xml布局:
只需要一个上下文对象,我们就可以很快创建对话框:
最简单的,只设置了标题:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .show();
设置内容,按钮
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setMessage("对话框内容") .show();
设置两个按钮:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setNegativeButton("取消",null ) .setMessage("对话框内容") .show();
当然,按钮的事件需要响应的话,第二个参数就不为null,需要添加响应的代码:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "确定按钮按下", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("取消",null ) .setMessage("对话框内容") .show();
这样就可以响应按钮事件了。
还有很多可以设置的属性:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setMessage("对话框内容") .setView(new EditText(MainActivity.this)) .setIcon(R.drawable.ic_launcher) //设置icon .show();
单选框:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setSingleChoiceItems(new String[]{"选项1","选项2","选项3","选项4"}, 2, null) .setIcon(R.drawable.ic_launcher) //设置icon .show();
复选框:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setMultiChoiceItems(new String[]{"选项1","选项2","选项3","选项4"}, new boolean[]{true,false,true,false}, null) .setIcon(R.drawable.ic_launcher) //设置icon .show();
列表框:
new AlertDialog.Builder(this) .setTitle("Hello MessageBox!") .setPositiveButton("确定", null) .setItems(new String[]{"选项1","选项2","选项3","选项4"}, null) .setIcon(R.drawable.ic_launcher) //设置icon .show();
相关推荐
完整的代码,用以实现安卓界面的对话框弹出问题,能够进行多选,单选,以及登录验证等功能
React Native开发的iOS和Android弹出对话框
1、在开发中有时会用到全局弹出对话框但必须在manifest中申请权限: <uses android:name=android.permission.SYSTEM_ALERT_WINDOW> 2、创建Dialog AlertDialog.Builder builder=new AlertDialog.Builder(this); ...
Android自定义弹出对话框
Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间...
android service中弹出对话框。
该资源为本人编写的Android自定义由底部弹出对话框项目,具体描述可查看本人博客《Android安卓自定义由底部弹出对话框》:(开发中遇到一个日期选择器的需求,就是界面中有两段文本显示日期,点击之后从底部弹出日期...
Android开发时,有时候需要在底部弹出对话框,该项目实现了这一功能。 实现时,需要在styles.xml中添加自定义风格属性,对话框进入时和出去时分别加载不同的动画资源文件
仿IOS的Android弹出对话框,可以做工具类使用。
Android 底部弹出对话框,点击对话框按钮,实现回调,回传给activity,你点击了哪个按钮,dialog是工具类,可以直接拿过来使用。
很好的android弹框功能,适用于新手!
基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框
编写一个程序,按下按钮后间隔3秒自动弹出一个Toast显示当前时间,按返回时有弹出对话框提示是否退出程序,按确认后退出程序 这是android studio文档,eclipse只需要借鉴代码复制粘贴即可
这个文件总工提供了8种常用Android的对话框示例,可以供大家学习参考。
Android使用Activity用作弹出式对话框
Android 通过NavigationView+DrawerLayout来实现侧滑菜单的功能和点击事件+弹出对话框,有需要的下载来看看
react native开发的demo 弹出对话框,非常适用。适配机型屏幕大小
能够在一个对话框中弹出时间和日期,合并了DatePicker和TimePicker,解决android自带控件只能弹出时间货日期的问题。 使用方法: EditText et= (EditText) findViewById(R.id.qx_type); et.setOnClickListener(new ...
Android 弹出框,安卓制作 MockDialog弹出对话框的例子,弹出层后手机屏幕变暗的例子,这种效果在电脑端的WEB开发时候见到比较多了,很多都是用于弹出提示、更新提示等地方,这个例子是入门级的,因此对新手是比较...
在Android 实现自定义多个按钮的Dialog弹出对话框,演示了拥有两个Button的Dialog对话框(确认和取消)、拥有三个按钮的对话框(确认取消和其它信息链接)、可进行输入的对话框以及进度框(显示正在处理的圆环...