1 普通对话框(喜欢,不喜欢,一般)
2 输入“文本”后确定或取消
3 对话框退出功能,确定是否退出
4 带有单选按钮的弹出框使用
5 以列表形式,显示单选列表
6 以复选框的形式,展示的对话框
一、调用各种对话框的按钮xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/Button01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="投票选择" > </Button> <Button android:id="@+id/Button02" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="输入确定" > </Button> <Button android:id="@+id/Button03" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="确定退出" > </Button> <Button android:id="@+id/Button04" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="单选按钮组" > </Button> <Button android:id="@+id/Button05" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="单选列表对话框" > </Button> <Button android:id="@+id/Button06" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="复选列表对话框" > </Button> </LinearLayout>
二、Activity的代码
package com.example.fragmentdemo1; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; //对话框测试 //参考 http://blog.csdn.net/andie_guo/article/details/14145135 public class DialogActivity extends Activity { Button btnShowDialog; Button btnShowDialog_Layout; Button quitBtn; Button singleChooseBtn; Button singleChoseListBtn; Button checkboxChoseListBtn; EditText editText; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); //定义按钮 btnShowDialog=(Button)this.findViewById(R.id.Button01); btnShowDialog.setOnClickListener(new ClickEvent()); btnShowDialog_Layout=(Button)this.findViewById(R.id.Button02); btnShowDialog_Layout.setOnClickListener(new ClickEvent()); quitBtn=(Button)this.findViewById(R.id.Button03); quitBtn.setOnClickListener(new ClickEvent()); singleChooseBtn=(Button)this.findViewById(R.id.Button04); singleChooseBtn.setOnClickListener(new ClickEvent()); singleChoseListBtn=(Button)this.findViewById(R.id.Button05); singleChoseListBtn.setOnClickListener(new ClickEvent()); checkboxChoseListBtn=(Button)this.findViewById(R.id.Button06); checkboxChoseListBtn.setOnClickListener(new ClickEvent()); } //统一处理按键事件 class ClickEvent implements OnClickListener{ @Override public void onClick(View v) { if(v==btnShowDialog) showDialog(DialogActivity.this); else if(v==btnShowDialog_Layout) showDialog_Layout(DialogActivity.this); else if(v==quitBtn){ showDialog_quit(DialogActivity.this); }else if( v==singleChooseBtn){ showDialog_danxuan(DialogActivity.this); }else if(v==singleChoseListBtn ){ show_dialog_list(DialogActivity.this); }else if(v==checkboxChoseListBtn){ show_dialog_checkbox(DialogActivity.this); } } } //显示基本的AlertDialog private void showDialog(Context context) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setIcon(R.drawable.title); builder.setTitle("喜好调查"); builder.setMessage("您喜欢玩植物大战僵尸么?"); builder.setPositiveButton("喜欢", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button1"); Toast.makeText(getApplicationContext(), "点击了喜欢", Toast.LENGTH_SHORT).show(); } }); builder.setNeutralButton("一般", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button2"); Toast.makeText(getApplicationContext(), "点击了对话框上一般", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("不喜欢", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle("点击了对话框上的Button3"); Toast.makeText(getApplicationContext(), "您点击了不喜欢", Toast.LENGTH_SHORT).show(); } }); builder.show(); } //显示基于Layout的AlertDialog ,有输入框的弹出框 private void showDialog_Layout(Context context) { LayoutInflater inflater = LayoutInflater.from(this); final View textEntryView = inflater.inflate( R.layout.alertdialoglayout, null); final EditText edtInput=(EditText)textEntryView.findViewById(R.id.edtInput); final AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setCancelable(false); builder.setIcon(R.drawable.title ); builder.setTitle("Title"); //这个用 xml布局 或者直接 new对象 都行 // builder.setView(textEntryView); editText = new EditText(context); builder.setView(editText) ; builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle(edtInput.getText()); Toast.makeText(getApplicationContext(), "点击了对话框上取消: "+editText.getText(), Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setTitle(""); Toast.makeText(getApplicationContext(), "点击了对话框上取消", Toast.LENGTH_SHORT).show(); } }); builder.show(); } //是否退出对话框的测试 private void showDialog_quit(Context context) { AlertDialog.Builder builder = new Builder(context); builder.setMessage("妖精,确定逃跑么"); builder.setPositiveButton("确定", new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //结束当前Activity的生命周期并释放资源 DialogActivity.this.finish(); } }); builder.setNegativeButton("取消", new AlertDialog.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } //单选按钮对话框 , 数据保存在监听器对象中 private void showDialog_danxuan(Context context) { //单选对话框监听器 final SingleChoiceOnClickListener singleChoiceOnClickListener = new SingleChoiceOnClickListener(); AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("单选对话框"); builder.setIcon(R.drawable.title); //R.array.hobby 也可以用下面的 数组代替 //final String[] items = {"java", ".net", "php"}; //1 数组数据 2 第几个被选中 3 点击的监听器 builder.setSingleChoiceItems( R.array.hobby, 0, singleChoiceOnClickListener); //添加一个确定按钮 builder.setPositiveButton("确定", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { String[] hoddy=getResources().getStringArray(R.array.hobby); Toast.makeText(getApplicationContext(), "您选择了: "+hoddy[singleChoiceOnClickListener.getWhich()], Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); builder.create().show(); } //单选的监听器 private class SingleChoiceOnClickListener implements DialogInterface.OnClickListener { private int which = 0; @Override public void onClick(DialogInterface dialogInterface, int which) { Toast.makeText(getApplicationContext(), "您选择了1111: "+which, Toast.LENGTH_SHORT).show(); this.which = which; } public int getWhich() { return which; } } //显示列表对话框 private void show_dialog_list(Context context){ final String[] items = new String[]{"北京","上海","深圳"}; AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("列表对话框"); builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogActivity.this, "您选中了"+items[which], Toast.LENGTH_SHORT ).show(); } }); builder.create().show(); } //显示带有复选框的 对话框 private void show_dialog_checkbox(Context context){ final String[] items = new String[]{"北京","上海","深圳"}; final boolean[] selected = new boolean[]{true,false,true}; AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("复选框 对话框"); builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { selected[which]=isChecked; } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { StringBuffer str = new StringBuffer("您选中了:"); for(int i=0;i<selected.length;i++){ if(selected[i]){ str.append(items[i]+","); } } str.deleteCharAt(str.length()-1); Toast.makeText(DialogActivity.this, str, Toast.LENGTH_SHORT).show(); } }); builder.create().show(); } }
三、array.xml的数据列表
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="hobby"> <item>游泳</item> <item>打篮球</item> <item>登山</item> </string-array> </resources>
相关推荐
本示例主要关注`Android`中的几种基本对话框类型:普通AlertDialog、列表对话框(ListDialog)、进度对话框(ProgressDialog)以及自定义对话框,通过实例来阐述如何在代码中实现它们。 首先,我们来看`AlertDialog...
以上是"Android常用对话框源码--对话框大全"中的主要知识点,通过学习和实践这些,开发者可以熟练掌握Android应用中对话框的使用,提高用户体验。在实际开发中,可以根据需求灵活组合和定制,创造出符合应用特性的...
在Android开发中,创建并显示一个文本对话框是常见的任务,尤其在用户需要输入或确认信息时。这个场景中提到的...理解并掌握这些知识点,开发者就能在Android应用中灵活地创建各种对话框,以满足用户的交互需求。
这篇内容将深入探讨Android中的各种对话框类型及其用法。 一、Alert Dialog Alert Dialog是Android中最常见的对话框类型,通常用于显示警告信息、询问用户或提供选项。创建Alert Dialog的基本步骤包括: 1. 创建...
总之,掌握Android Studio中各种对话框的使用技巧是提升Android应用用户体验的关键。从简单到复杂,从普通对话框到带有多选功能的对话框,开发者需要灵活运用这些组件来满足不同场景的需求。同时,利用下载进度条...
这个"Android 进度条对话框Demo.zip"包含了一个示例项目,用于演示如何在Android应用中正确地使用进度条对话框。以下是对该Demo的详细解析: 首先,`1-120Q2203J50-L.png`可能是一个截图,展示了进度条对话框在实际...
本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和定制对话框的源代码示例。通过这个压缩包,我们可以学习到如何摆脱系统默认样式,设计出更符合应用风格的对话框。 ...
通过分析这些内容,我们可以深入理解Android对话框的工作原理及其创建方法。 首先,Android中的对话框分为几种类型,包括普通对话框(AlertDialog)、进度对话框(ProgressDialog)、自定义对话框等。这里主要关注...
这个"Android 进度条对话框Demo"很可能是包含了一个示例项目,帮助开发者了解如何在Android应用中正确使用ProgressDialog。下面将详细讲解Android中进度条对话框的使用方法和相关知识点。 1. **ProgressDialog的...
本教程将深入探讨如何在Android应用中组合使用各种类型的对话框。 1. **基本对话框(AlertDialog)** 基本对话框是最常见的对话框类型,包括标题、消息文本、一个或多个按钮。可以通过`AlertDialog.Builder`来创建...
在Android开发中,自定义对话框(Dialog)是一种常见的用户交互方式,用于向用户展示临时信息或进行简单操作。为了使对话框更具吸引力和用户体验,我们常常会为它添加动画效果。下面将详细介绍如何在Android中实现...
通过分析这个源码,开发者可以深入理解Android对话框的工作原理,以及如何灵活地对其进行自定义。这对于开发具有个性化的用户体验的应用程序至关重要。同时,这个例子也可以作为学习Android UI设计和事件处理的一个...
在Android开发中,自定义对话框(Dialog)是创建用户界面时经常需要用到的一种组件。它能够提供一种非模态或模态的方式与用户交互,显示临时的信息或者进行一些简单的操作选择。本文将深入探讨如何在Android中实现...
下面我们将深入探讨如何在Android中创建和使用自定义对话框。 1. **基础Dialog使用** Android SDK提供了`AlertDialog`类,可以快速创建一个基本的对话框。首先,你需要创建一个`AlertDialog.Builder`实例,然后...
本篇文章将深入探讨如何在Delphi XE5环境下创建和使用Android对话框。 首先,我们需要了解Delphi XE5的FireMonkey(FMX)框架。它是Delphi和C++Builder用于跨平台开发的统一界面层,支持Windows、Mac OS X、iOS以及...
这篇博客文章“Android自定义对话框的使用”深入探讨了如何在Android项目中创建和使用自定义对话框。 首先,我们了解自定义对话框的基本概念。对话框(Dialog)是Android中的一个窗口,它浮于应用程序之上,用于向...
这个“Android dialog对话框用法实例.rar”压缩包提供了一些示例代码,帮助开发者了解如何在Android应用中创建和使用Dialog。 首先,我们来详细探讨Android Dialog的基本概念。Dialog是Android UI设计中的一种非...
本篇文章将对Android中的对话框进行深入的总结,包括基本概念、类型、使用方法以及自定义对话框的实现。 首先,Android提供了三种基本类型的对话框: 1. AlertDialog:这是最常用的对话框类型,通常包含标题、消息...
本文将深入探讨如何创建一个具有选择功能的对话框(Dialog),包括使用AlertDialog及其Builder类。 ### 1. AlertDialog简介 AlertDialog是Android SDK提供的一种内置对话框类型,它提供了多种样式和行为,可以用于...
这篇描述中提到的"android AlertDialog对话框的类型集合"是一个全面介绍和展示`AlertDialog`各种类型的资源,包含了丰富的示例代码,方便开发者直接运行和学习。 1. **普通对话框** 普通的`AlertDialog`是最基础的...