Android中的几种对话框(AlertDialog)
2016-06-30 21:16
597 查看
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 { @Override protected 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() af85 ; } }); //设置取消按钮 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(); } }
相关文章推荐
- Android开发进阶学习整理--Activity篇
- ViewPager实现页卡的最新方法--简洁的TabLayout(AndroidSupportDesign)
- 一个小白从零基础自学Android编程笔记之如何在AndroidManifext.xml文件中注册
- android 禁用和开启四大组件的方法(setComponentEnabledSetting )
- Android连续点击两次退出程序
- Android Studio模块中创建menu布局
- android的样式与主题【普通窗体】
- Android NDK目录介绍
- 一个小白从零基础自学Android编程笔记之如何创建菜单
- Android动画 - AndroidFillableLoaders源码分析
- Android 开源框架ViewPageIndicator的使用
- ADB Android 调试利器之常用ADB指令分享
- Android 获得当前位置的经纬度
- XmlPullParser解析xml文件
- Android——PullToRefresh自动刷新
- android 实现View的背景色渐变动画
- android删除一个view中的子view
- 欢迎使用CSDN-markdown编辑器
- Android中Bitmap,byte[],Drawable相互转化
- Android偏好设置存到哪里了?