package com.easyway.android.diaglogs;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;/** *  * Android 对话框(Dialog)大全 建立你自己的对话框 *  * Activities提供了一种方便管理的创建、保存、回复的对话框机制, *    例如 onCreateDialog(int), onPrepareDialog(int, Dialog), *     showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话, *     Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). *  onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity *              为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这 *              样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单 *              键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。 *  showDialog(int): 当你想要显示一个对话框时,调用showDialog(int id) 方法并传递一个唯 *              一标识这个对话框的整数。当对话框第一次被请求时,Android从你的Activity中调 *              用onCreateDialog(int id),你应该在这里初始化这个对话框Dialog。这个回调方 *              法被传以和showDialog(int id)相同的ID。当你创建这个对话框后,在Activity的 *              最后返回这个对象。 *  onPrepareDialog(int, Dialog):在对话框被显示之前,Android还调用了可选的回调函数 *             onPrepareDialog(int id, Dialog). 如果你想在每一次对话框被打开时改变它的 *             任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用, *             而onCreateDialog(int) 仅在对话框第一次打开时被调用。如果你不定义 *             onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以 *             对话框的ID,和在onCreateDialog()中创建的对话框对象。 *  dismissDialog(int):当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。 *            如果需要,你还可以从这个Activity中调用dismissDialog(int id) 方法,这实际上将 *            为你对这个对话框调用dismiss() 方法。 如果你想使用onCreateDialog(int id) 方法来 *            管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候, *            这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态 *            是重要的,那么你应该调用removeDialog(int id)。这将删除任何内部对象引用而且如果 *            这个对话框正在显示,它将被消除。 * @author longgangbai * */public class AndroidDialogActivity extends Activity {    private Button btncomfire;    private Button btncontext;    private Button btnCustomlayout;    private Button btnSimplelistItem;    private Button btnmulitableItem;    private Button btnSingleItem;    private Button btninput;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        //确认对话框        btncomfire=(Button)findViewById(R.id.btnchart);        btncomfire.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {AlertDialog.Builder builder=new Builder(AndroidDialogActivity.this);builder.setMessage("确认退出吗?");builder.setTitle("提示");builder.setPositiveButton("确认", new  DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) { dialog.dismiss(); AndroidDialogActivity.this.finish();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();}        });        //调查对话框信息        btncontext=(Button)findViewById(R.id.btncontext);        btncontext.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {AlertDialog.Builder builder=new Builder(AndroidDialogActivity.this);builder.setIcon(R.drawable.ic_launcher);builder.setTitle("喜好调查");builder.setMessage("你喜欢李孝利的歌曲吗?");builder.setPositiveButton("很喜欢", new  DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {                          Toast.makeText(AndroidDialogActivity.this,"我很喜欢她的歌曲", Toast.LENGTH_LONG).show();}});builder.setNegativeButton("不喜欢", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {          Toast.makeText(AndroidDialogActivity.this,"我很不喜欢她的歌曲", Toast.LENGTH_LONG).show();}});builder.setNeutralButton("一般", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {  Toast.makeText(AndroidDialogActivity.this,"我有点喜欢她的歌曲,但是我喜欢她的漂亮", Toast.LENGTH_LONG).show();}});builder.create().show();}        });        //输入对话框信息        btninput=(Button)findViewById(R.id.btnInput);        btninput.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {AlertDialog.Builder builder=new Builder(AndroidDialogActivity.this);builder.setTitle("请输入").setIcon(R.drawable.ic_launcher).setView(new EditText(AndroidDialogActivity.this)).setPositiveButton("确认", null);builder.setNegativeButton("取消", null);builder.show();}        });        //自定义视图的对话框        btnCustomlayout=(Button)findViewById(R.id.btnLayout);        btnCustomlayout.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) { //获取对话框信息      LayoutInflater inflater = getLayoutInflater();      View layout = inflater.inflate(R.layout.dialog,(ViewGroup) findViewById(R.id.dialog));      //创建对话框      new AlertDialog      .Builder(AndroidDialogActivity.this)      .setTitle("自定义布局")      .setView(layout)  //设置自定义视图对象      .setPositiveButton("确定", null)      .setNegativeButton("取消", null)      .show();}        });                                //简单显示信息列表        btnSimplelistItem=(Button)findViewById(R.id.btnlistItems);        btnSimplelistItem.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {new AlertDialog.Builder(AndroidDialogActivity.this)        .setTitle("列表框")        .setItems(new String[] { "Item1", "Item2" }, null) //设置列表信息集合        .setNegativeButton("确定", null)        .show();}        });                //创建一个复选框的对话框        btnmulitableItem=(Button)findViewById(R.id.btnmulitableItems);        btnmulitableItem.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {new AlertDialog.Builder(AndroidDialogActivity.this)        .setTitle("复选框")        .setMultiChoiceItems(new String[] { "Item1", "Item2" }, null, null)//设置多选项.setPositiveButton("确定", null).setNegativeButton("取消", null).show();}        });        //创建一个单选项对话框        btnSingleItem=(Button)findViewById(R.id.btnSingleItems);        btnSingleItem.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {AlertDialog.Builder builder=new Builder(AndroidDialogActivity.this);builder.setTitle("单选项")//对话框图表.setIcon(R.drawable.ic_launcher)//设置单选框.setSingleChoiceItems(new String[]{"Item1","Item2","Item3"}, 0,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {                       dialog.dismiss();}}).setPositiveButton("确认", null);builder.setNegativeButton("取消", null);builder.show();}        });    }}

Android实现各种对话框的变体

更多相关文章

  1. Android 拨打webView 里面的电话号码的方法
  2. android 在线视频播放器实现方法
  3. Android下各文件方法获取的路径
  4. android intent的常用方法
  5. android 如何在对话框中获取edittext中的数据
  6. This Android SDK requires Android Developer Toolkit version
  7. android页面间传递对象
  8. Android Studio Start Failed解决方法
  9. Android WebView中的JavaScript调用android方法

随机推荐

  1. Android(安卓)布局之RelativeLayout
  2. android View的快照与屏幕的截屏
  3. Android(安卓)Fire Project(1)Recall Env
  4. Android(安卓)Screen Monitor抓取真机屏
  5. Android(安卓)P图形架构之三屏异显实现
  6. 新说android launch mode
  7. Android单元测试
  8. RelativeLayout重要属性
  9. Android(安卓)Map开发基础知识学习笔记
  10. Android屏幕自适应详解