AlertDialog.Builder()的应用及扩展
来源:互联网 发布:淘宝考研资料靠谱店铺 编辑:程序博客网 时间:2024/06/10 05:24
我们先来了解一下什么是AlertDialog?什么是AlertDialog.Builder?且两者有什么区别?
一个AlertDialog可以有两个以上的Button,可以对一个AlertDialog设置相应的信息。比如title,massage,setSingleChoiceItems,setPositiveButton,setNegativeButton等等。。。。
但不能直接通过AlertDialog的构造函数来生产一个AlertDialog。研究AlertDialog的源码发现AlertDialog所有的构造方法都是写保护的所以不能通过:AlertDialog alertDialog = new AlertDialog();来得到。AlertDialog构造方法源码如下:
只能通过:
- AlertDialog.Builder alertDialog =new AlertDialog.Builder(this);
那就通过一个具体的实例来说说吧(这里用一个最常用的对话框为例):
针对AlertDialog中设置了确定和取消按钮,一般来说确定为执行某个动作,取消就是不执行,但是如果用户点击了系统的Back键,此时就会将AlertDialog关闭,而并没有执行预期的取消的操作。
此时需要关注一个方法setCancelable(false) 该方法定义设置该AlertDialog是否可以被Back键取消,如果不设置默认为true
下面是一些扩展:
根据AlertDialog.Builder 创建 相应的 AlertDialog
- AlertDialog alertDialogs = alertDialog.create();
用dismiss();方法来清除创建过的AlertDialog
- alertDialogs.dismiss();
以上所采用的都是AlertDialog 系统默认的布局 现在说自定义布局的情况 并添加一个用于取消AlertDialog 的 Button
定义其布局 main.xml
通过LayoutInflater 得到上面 main.xml 布局文件
- view = this.getLayoutInflater().inflate(R.layout.main, null);
- alertDialog.setView(view);
- alertDialogs= alertDialog.create();
- TextView title = (TextView) view.findViewById(R.id.title);
- title.setTextSize(20);
- title.setTextColor(Color.RED);
- title.setText("Title");
- TextView message = (TextView) view.findViewById(R.id.message);
- message.setText("message");
显示对话框 AlertDialog
- findViewById(R.id.button).setOnClickListener(new OnClickListener(){
- public void onClick(View v) {
- // TODO Auto-generated method stub
- alertDialogs.show();
- }
- });
清除对话框 AlertDialog
0 0
- AlertDialog.Builder()的应用及扩展
- android源码解析--AlertDialog及AlertDialog.Builder
- Android源码解析--AlertDialog及AlertDialog.Builder
- android源码解析--AlertDialog及AlertDialog.Builder
- AlertDialog.Builder的使用
- AlertDialog.Builder的setCancelable
- AlertDialog.Builder和AlertDialog之间的关系
- AlertDialog.Builder()的参数问题
- 关于AlertDialog.Builder的自定义
- Builder模式——AlertDialog中的Builder简单应用
- AlertDialog.Builder
- AlertDialog.Builder
- AlertDialog.Builder
- AlertDialog.Builder
- AlertDialog.Builder
- AlertDialog和AlertDialog.Builder
- Android 对话框AlertDialog和AlertDialog.Builder两者的区别
- Android弹出框PopupWindow,Dialog,AlertDialog.Builder,AlertDialog的一知半解
- ORA-01078 LRM-00109
- 03-树2 List Leaves
- UI25_UISearchBar
- 潘鹏整理WPF(10)日历控件Calendar&&DatePicker
- 03-树3 Tree Traversals Again
- AlertDialog.Builder()的应用及扩展
- Spring源码之SimpleAliasRegistry解读(一)
- 网络图片下载工具类
- 第四周-项目4 - 建设双链表算法库
- JavaScript实现异步的4种方法
- iOS开发脚踏实地学习day13-触摸事件和抽屉效果
- UIday2001:FMDB使用
- RecyclerView的点击事件,下拉刷新,上拉加载(Android5.0)
- objective-c 内存管理规范