11.Android之常用对话框AlertDialog学习
2015-12-26 13:00
701 查看
(1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如设置标题、图标、内容等等。
修改下MainActivity.java方法(Android Studio工具下):
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/df9f50f055fbf68161599fdbc898f73e.png)
(2) 接下来我们来设置带按钮的AlertDialog,代码如下:
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/27129ee731805ea52d66064fd289c503.png)
说明:setPositiveButton(),setNegativeButton(),setNeutralButton()方法分别用来设置确定按钮、取消按钮、中间按钮的一些属性,在Android2.3 以下平台中,三按钮的位置是相对固定的,分别置于最左侧,最右侧和居中,但在Android4.0以上平台下,setPositiveButton和setNegativeButton位置恰恰相反,分别置于最右侧和最左侧。
(3)带有单选按钮或者复选按钮的AlertDialog对话框
直接上代码:
说明:setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第三个参数设置监听处理事件。
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/c07cf7c69b5334f7902d2edd7754446f.png)
修改下MainActivity.java方法(Android Studio工具下):
package com.example.administrator.dialog1; import android.app.Activity; import android.os.Bundle; import android.app.AlertDialog.Builder; import android.app.AlertDialog; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法 Builder alertdialog = new AlertDialog.Builder(this); alertdialog.setTitle("简单对话框"); //设置标题 alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。"); //设置内容 alertdialog.setIcon(R.mipmap.ic_launcher); //设置图标 alertdialog.create(); alertdialog.show(); } }
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/df9f50f055fbf68161599fdbc898f73e.png)
(2) 接下来我们来设置带按钮的AlertDialog,代码如下:
package com.example.administrator.dialog1; import android.app.Activity; import android.os.Bundle; import android.app.AlertDialog.Builder; import android.app.AlertDialog; import android.content.DialogInterface; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // // //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法 // Builder alertdialog = new AlertDialog.Builder(this); // alertdialog.setTitle("简单对话框"); //设置标题 // alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。"); //设置内容 // alertdialog.setIcon(R.mipmap.ic_launcher); //设置图标 // alertdialog.create(); // alertdialog.show(); Builder dialog = new AlertDialog.Builder(this); dialog.setTitle("确定删除?"); dialog.setMessage("您确定删除该条信息吗?"); dialog.setIcon(R.mipmap.ic_launcher); //为“取消”按钮注册监听事件 dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //... } }); //为“查看详情”按钮注册监听事件 dialog.setNeutralButton("查看详情", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //... } }); //为“确定”按钮注册监听事件 dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //... } }); dialog.create(); dialog.show(); } }
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/27129ee731805ea52d66064fd289c503.png)
说明:setPositiveButton(),setNegativeButton(),setNeutralButton()方法分别用来设置确定按钮、取消按钮、中间按钮的一些属性,在Android2.3 以下平台中,三按钮的位置是相对固定的,分别置于最左侧,最右侧和居中,但在Android4.0以上平台下,setPositiveButton和setNegativeButton位置恰恰相反,分别置于最右侧和最左侧。
(3)带有单选按钮或者复选按钮的AlertDialog对话框
直接上代码:
package com.example.administrator.dialog1; import android.app.Activity; import android.os.Bundle; import android.app.Dialog; import android.app.AlertDialog.Builder; import android.app.AlertDialog; import android.content.DialogInterface; import android.widget.Toast; public class MainActivity extends Activity { private int selectedCityIndex = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //定义城市数组 final String[] arrayCity = new String[] { "北京", "上海", "广州", "深圳" }; //实例化AlertDialog对话框 Dialog alertDialog = new AlertDialog.Builder(this) .setTitle("你最喜欢哪个地方?") //设置标题 .setIcon(R.mipmap.ic_launcher) //设置图标 // 设置对话框显示一个单选List,指定默认选中项,同时设置监听事件处理 .setSingleChoiceItems(arrayCity, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { selectedCityIndex = which; //选中项的索引保存到选中项变量 } }) //添加取消按钮并增加监听处理 .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }) //添加确定按钮并增加监听处理 .setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplication(), arrayCity[selectedCityIndex], Toast.LENGTH_SHORT).show(); } }) .create(); alertDialog.show(); } }
说明:setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第三个参数设置监听处理事件。
运行效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/c07cf7c69b5334f7902d2edd7754446f.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202002/02/ff21d33fea0b526ed90758a689ac5e49.png)
相关文章推荐
- Android编程开发之NotiFication用法详解
- Android 二级串联菜单的实现过程
- Android出现“Read-only file system”解决办法
- Android ViewGroup测量child过程
- Android基于API的Tabs3实现仿优酷tabhost效果实例
- Android 自己来尝试性解读《Android照片墙完整版,完美结合LruCache和DiskLruCache》
- Android编程开发实现TextView显示表情图像和文字的方法
- Android/java读中文文件部分字母乱码的问题
- Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能实例
- Android Studio gradle 文件中 ${supportLibVersion} 用法
- android sqlite3的使用
- android 4.0 BLE开发官方文档介绍
- Android4.3 蓝牙BLE初步
- FragmentActivity和Activity的具体区别
- AndroidのListView之滑动列表项(点击事件和滑动事件共存)
- Android之弹出菜单PopupMenu
- Android 项目开始前的一些准备
- android自动安装程序包
- Android 极光推送集成
- Android签名机制之---签名过程详解