Android中的几种对话框(AlertDialog)
来源:互联网 发布:知乎一个笑话笑一辈子 编辑:程序博客网 时间:2024/04/27 18:31
Android中常用的对话框有【确认/取消】对话框 ,带3个按钮的对话框,列表对话框,单选列表对话框,多选列表对话框,水平进度对话框等。其中进度对话框由ProgressDialog创建,其他几种由AlertDialog.Builder创建。
常用方法:
setIcon 设置对话框标题栏左侧的那个图标
setTitle 设置对话框标题栏的提示信息
setMessage 设置对话框主体部分的提示信息
setPositiveButton 设置确定按钮
setNegativeButton 设置取消按钮
setCancelable设置对话框在点击返回键时是否会关闭
show 显示对话框
xml代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.dialog.MainActivity" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click1" android:text="确定取消对话框" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click2" android:text="带3个按钮的对话框" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click3" android:text="单选对话框" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click4" android:text="多选对话框" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click5" android:text="进度条对话框" /></LinearLayout>
主程序代码如下
package com.example.dialog;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.content.DialogInterface.OnMultiChoiceClickListener;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}public void click1(View v){ Builder builder = new AlertDialog.Builder(this); //设置图标 builder.setIcon(android.R.drawable.ic_dialog_alert); //设置标题 builder.setTitle("确定取消对话框"); //设置内容 builder.setMessage("确定取消对话框"); //设置确定按钮 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了确定", 0).show(); } }); //设置取消按钮 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了取消", 0).show(); } }); builder.show();}public void click2(View v){ Builder builder = new AlertDialog.Builder(this); //设置图标 builder.setIcon(android.R.drawable.ic_dialog_alert); //设置标题 builder.setTitle("确定取消对话框"); //设置内容 builder.setMessage("三个按钮的对话框"); //设置确定按钮 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了确定", 0).show(); } }); //设置忽略按钮 builder.setNeutralButton("忽略", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了忽略", 0).show(); } }); //设置取消按钮 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你选择了取消", 0).show(); } }); builder.show();}public void click3(View v){ Builder builder = new AlertDialog.Builder(this); //设置图标 builder.setIcon(android.R.drawable.ic_dialog_alert); //设置标题 builder.setTitle("请选择"); final String[] items = new String[]{ "1", "2", "3", "4", }; //设置单选选项 builder.setSingleChoiceItems(items, 1, new OnClickListener() { //dialog:触发此方法执行的那个对话框 @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, items[which], 0).show(); //对话框消失 dialog.dismiss(); } }); //显示对话框 builder.show();}public void click4(View v){ //创建对话框创建器 AlertDialog.Builder builder = new Builder(this); //设置图标 builder.setIcon(android.R.drawable.ic_dialog_alert); //设置标题 builder.setTitle("请选择"); final String[] items = new String[]{ "1", "2", "3", "4", "5", "6" }; final boolean[] checkedItems = new boolean[]{ true, false, false, false, false, true }; //设置多选选项 builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { //记录用户的选择 checkedItems[which] = isChecked; } }); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String text = ""; for (int i = 0; i < checkedItems.length; i++) { text += checkedItems[i]? items[i] + ",": ""; } Toast.makeText(MainActivity.this, text, 0).show(); } }); builder.show();}public void click5(View v){ //创建进度条对话框 final ProgressDialog dialog = new ProgressDialog(this); dialog.setTitle("正在加载中,请稍候..."); dialog.setMax(100); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); Thread t = new Thread(){ public void run() { for (int i = 0; i <= 100; i++) { dialog.setProgress(i); try { sleep(20); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //进度消失 dialog.dismiss(); } }; t.start(); dialog.show();} }
1 0
- Android中的几种对话框(AlertDialog)
- Android中的对话框AlertDialog
- android中的对话框(AlertDialog)自动消失
- Android中的对话框(一)AlertDialog
- Android中的警告对话框(AlertDialog)使用案例
- Android中的AlertDialog使用示例一(警告对话框)
- Android中的AlertDialog使用示例二(普通选项对话框)
- Android中的AlertDialog使用示例五(自定义对话框)
- AlertDialog对话框的几种样式
- 【Android】对话框 AlertDialog .(转)
- Android对话框(一)AlertDialog
- Android的对话框(AlertDialog)
- android自定义对话框(AlertDialog)
- Android 应用开发笔记 - 对话框(AlertDialog)
- Android开发--实现对话框(AlertDialog)
- 【Android】对话框AlertDialog的使用(一)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Androidの自定义对话框AlertDialog(一)
- 电脑磁盘右键没有新建文件夹???
- C++11中nullptr的使用
- 大学《数据库原理与技术》复习题(二)
- Myeclipse安装 配置Maven
- 素数相关
- Android中的几种对话框(AlertDialog)
- Instant Client 下安装 sqlldr
- JS实现回到顶部按钮
- Tensorflow: Convolutional Neural Network Basic
- 一个小白从零基础自学Android编程笔记之如何设置EidtText的边框
- 异步加载数据
- 数据库范式
- Jackson json 处理全大写或不规范的JSON
- How to integrate ZXing Library to Android Studio for Barcode Scanning?