Android自定义对话框的使用
来源:互联网 发布:淘宝捉猫猫要怎么删除 编辑:程序博客网 时间:2024/05/17 23:13
一、概述
对话框是在当前界面弹出的一个小窗口,用于显示重要提示信息,提示用户输入信息,确认信息,或者某种状态,如下载进度,退出提示等等。一般情况下,用户要与对话框进行交互,然后返回到被遮盖的界面以继续运行当前的应用程序。
二、常见的对话框
确认对话框、单选按钮对话框、多选按钮对话框、列表对话框
三、AlertDialog常用方法
要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。
setTitle:设置标题
setIcon:设置图标
setMessage:设置内容
setView:设置自定义样式
setItems:设置对话框要显示的一个list,一般用于显示几个命令时
setMultiChoiceItems:设置对话框显示一系列的复选框
setSingleChoiceItems:设置单选按钮
setNeutralButton:添加普通按钮
setPositiveButton:添加确认按钮
setNegativeButton:添加取消按钮
四、确认对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示"); builder.setMessage("窗口已经弹出"); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(Activity7Dialog.this, "你选择了确定", Toast.LENGTH_SHORT).show(); } }); AlertDialog dialog = builder.create(); dialog.show();</span>
效果:
五、单选对话框
<span style="white-space:pre"></span>全局数组:String[] single_list = {"程序员","工程师","设计师","测试员"}; AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("选择职位");builder.setIcon(R.drawable.ic_launcher);builder.setSingleChoiceItems(single_list, 0, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(Activity7Dialog.this, "你选择了第"+(which+1)+"项,"+single_list[which], Toast.LENGTH_SHORT).show();}});AlertDialog dialog = builder.create();dialog.show();</span>效果:
六、多选对话框
<span style="white-space:pre"></span>全局数组:String[] multi_list = {"爬山","游泳","跑步","散步"}; 全局数组:int[] checked = new int[4];//记录选择 AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("选择爱好");builder.setIcon(R.drawable.ic_launcher);builder.setMultiChoiceItems(multi_list, null, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {if(isChecked){checked[which] = 1; //选择项记录为1}else{checked[which] = 0;}}});builder.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String hobby = "";for(int i=0; i<4 ; i++){if(checked[i] == 1){hobby += multi_list[i]+" ";}}Toast.makeText(Activity7Dialog.this, "你选择了:"+hobby, Toast.LENGTH_SHORT).show();<span style="white-space:pre"></span>//清除选择for(int i=0; i<4; i++){checked[i] = 0;}}});builder.setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {</span>
<span style="font-size:18px;"><span style="white-space:pre"></span>//清除选择for(int i=0; i<4; i++){checked[i] = 0;}dialog.dismiss();}});AlertDialog dialog = builder.create();dialog.show();</span>效果:
七、列表对话框
<span style="font-size:18px;"><span style="white-space:pre"></span>全局数组:String[] item_list = {"技术部","销售部","人事部","财务部","监管部","行政部"}; AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("选择部门");builder.setIcon(R.drawable.ic_launcher);builder.setItems(item_list, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(Activity7Dialog.this, "选择了:"+item_list[which], Toast.LENGTH_SHORT).show();}});AlertDialog dialog = builder.create();dialog.show();</span></span>效果:
八、自定义对话框
<span style="font-size:18px;"> //获取自己的布局LayoutInflater inflater = LayoutInflater.from(this); //selfdialog.xml就是自己定义的对话框布局文件View view = inflater.inflate(R.layout.selfdialog, null);AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("请输入信息");builder.setIcon(R.drawable.ic_launcher);builder.setView(view);AlertDialog dialog = builder.create();dialog.show();</span></span>
自定义布局内容如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" ><EditText android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:hint="请输入内容" /><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="提交" /></LinearLayout> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/pic1"/></LinearLayout>
效果:
0 0
- Android自定义对话框的使用
- Android使用DialogFragment,自定义对话框
- android使用NumberPicker实现自定义带时间的对话框
- Android中AlertDialog以及自定义对话框的使用
- Android自定义对话框的大小
- Android自定义对话框的实现
- Android自定义样式的对话框
- 自定义对话框的实现--Android
- Android 的自定义等待对话框
- Android自定义样式的对话框
- android对话框的使用
- Android对话框的使用
- 【Android】对话框的使用
- 【Android】Android对话框的使用
- android中的对话框:自定义对话框
- android:常用的AlertDialog对话框及自定义对话框
- 使用自定义对话框和Activity对话框的区别
- Android对话框的自定义及透明效果
- CKMLCP前期未结算_报错
- Design Patterns in Swift:单例模式(上)
- 测试小卒子--python--virtualenv搭建
- Linux下如何配置samba服务器?
- 消除Xcode iOS项目的警告
- Android自定义对话框的使用
- lua 小知识
- Watchdog
- 轻量级分布式 RPC 框架
- 我从编程总结的 22 个经验
- 计算器 保留有效数字
- Log边缘检测算法
- Linux内核---11.关于结构体对齐
- WDCP快速升级PHP5.4、MySql5.5版本环境