从头学android_alertDialog的使用
2016-07-27 12:39
465 查看
在android中,alertDialog 用于弹出对话框,可以作为提示信息展现给用户,也可以使用户在对话框中输入信息等。
我们可以使用基本的对话框,也可以对其布局和功能自定义,即使用自定义的对话框。前者简单高效,后者则更加灵活、强大。
自定义个布局,然后将布局填充成view对象,设置给对话框,找到布局中的组件,分别初始化各个组件,设置侦听。
我们可以使用基本的对话框,也可以对其布局和功能自定义,即使用自定义的对话框。前者简单高效,后者则更加灵活、强大。
1. 基本用法
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("发现新版本:" + mVersionName);//设置对话框标题 builder.setMessage(mVersionDesc);//设置对话框消息内容 builder.setCancelable(false);//按下返回键不取消对话框 builder.setPositiveButton("我要升级", new DialogInterface.OnClickListener() {//设置确定按钮 @Override public void onClick(DialogInterface dialog, int which) {//具体逻辑 } }); builder.setNegativeButton("下次再说", new DialogInterface.OnClickListener() {//设置取消按钮 @Override public void onClick(DialogInterface dialog, int which) {//具体逻辑 } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() {//用户取消弹窗侦听(如点击返回键) @Override public void onCancel(DialogInterface dialog) { enterHomeActivity(); } }); builder.show();//显示对话框
2.自定义对话框
自定义对话框可以自定义布局,布局里面有什么组件,显示对话框的时候各个组件的作用,给各个组件设置不同的侦听,事件,效果等,非常灵活。自定义个布局,然后将布局填充成view对象,设置给对话框,找到布局中的组件,分别初始化各个组件,设置侦听。
AlertDialog.Builder builder = new AlertDialog.Builder(this); final AlertDialog dialog = builder.create(); View view = View.inflate(this, R.layout.dialog_input_pwd, null);// 给dialog设定特定布局 // dialog.setView(view); dialog.setView(view, 0, 0, 0, 0);// 去掉上下左右边距, 兼容2.x版本 /**找到组件*/ Button btnOK = (Button) view.findViewById(R.id.btn_ok); Button btnCancel = (Button) view.findViewById(R.id.btn_cancel); final EditText etPwd = (EditText) view.findViewById(R.id.et_pwd); //给按钮设置侦听 btnOK.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //具体逻辑 } }); btnCancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show();
相关文章推荐
- 从零开始的Android新项目9 - 前端用后台接口设计
- 从零开始的Android新项目8 - Data Binding高级篇
- 从零开始的Android新项目7 - Data Binding入门篇
- 从零开始的Android新项目6 - Repository层(下) Realm、缓存、异常处理
- Handler消息机制的原理及应用场景
- AndroidManifest配置之uses-sdk
- 为Android程序设置全局的捕获异常,提升用户体验(UncaughtExceptionHandler捕获全局异常)
- android 小知识点
- Android之Jsoup解析数据
- 为什么要对ListView控件进行优化,以及如何优化。
- Android中有几种数据存储方式,每种方式有哪些特点?
- 从零开始的Android新项目5 - Repository层(上)
- 从零开始的Android新项目4 - Dagger2篇
- Sources for Android API 23 Platfrom not found (Android Studio 2.0)
- Android 使用大号的通知
- java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
- Android第一个应用 Hello World
- Android ScrollView和ListView事件冲突问题解决方法
- 从Github上下载了项目,导入Android Studio,gradle 报错,应该怎么修改
- Android设置虚线、圆角、渐变 (listview 设置虚线分隔线)