一个对话框就是一个小窗体,提示用户做出决定或输入额外的信息。对话框不填满屏幕,通常用于模态事件,要求用户采取某些行动,程序才能继续往下执行。下面用在程序里程序具体说明Dialog的使用

activity_main.xml中的内容:

                                

android之Dialog的使用_第1张图片

新建一个dialog_button_item.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>                

MainActivity.java中的内容:

package com.zzh.day11_dialog;import java.util.Calendar;import android.app.Activity;import android.app.AlertDialog;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;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.Button;import android.widget.DatePicker;import android.widget.TimePicker;import android.widget.Toast;public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** * @param view */public void showDialog(View view){switch (view.getId()){case R.id.button1://普通对话框AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("普通对话框");//设置对话框的标题builder.setIcon(R.drawable.ic_launcher);//设置对话框的小图标builder.setMessage("信息信息信息信息信息信息信息");//设置对话框要显示的信息AlertDialog ad = builder.create();//创建AlertDialog的对象ad.show();//设置对话框显示break;case R.id.button2://有按钮的对话框/** * setPositiveButton,setNegativeButton,setNeutralButton中参数的意义 * 参数一:按钮上要显示的文字 * 参数二:按钮的点击事件 *  */new AlertDialog.Builder(this).setTitle("按钮").setIcon(R.drawable.ic_launcher)//.setMessage("有按钮的对话框")//.setPositiveButton("OK", new OnClickListener()//对OK按钮的事件进行监听,处理。后边的setNegativeButton,setNeutralButton,也是一样的。{@Overridepublic void onClick(DialogInterface dialog, int which){Toast.makeText(MainActivity.this, "你点击了OK按钮", Toast.LENGTH_SHORT).show();}})//.setNegativeButton("Cencel", null)//.setNeutralButton("SO SO", null).show();break;case R.id.button3://对话框的内容是一个列表new AlertDialog.Builder(this).setTitle("列表").setIcon(R.drawable.ic_launcher)//.setItems(new String[]{"条目一","条目二","条目三","条目四"}, new OnClickListener(){/* *  DialogInterface dialog:被点击的对象 * int which:被点击的位置 */@Overridepublic void onClick(DialogInterface dialog, int which){Toast.makeText(MainActivity.this, which+"----", Toast.LENGTH_SHORT).show();}}).show();break;case R.id.button4://对话框中的内容是一个单选列表/** * setSingleChoiceItems中的参数意义 * 参数一:单选框中有哪些条目,是一个数组 * 参数二:默认被选中的单选框 * 参数三:点击事件 * 重载的方法: * setSingleChoiceItems(int itemsId, int checkedItem, DialogInterface.OnClickListener listener) * 参数一:是把数组定义在xml文件中,在Java文件中使用R.array....引用。 * */new AlertDialog.Builder(this).setTitle("单选").setIcon(R.drawable.ic_launcher)//.setSingleChoiceItems(new String[]{"red","blue","green"}, -1, new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){Toast.makeText(MainActivity.this, "选择了第  "+(which+1)+" 个颜色", Toast.LENGTH_SHORT).show();}}).show();break;case R.id.button5://多选对话框/** * setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener) * 参数一:多选框中的条目; * 参数二:是否被选中,如果是null,则都没有选中 * 参数三:与单选框的事件不同,DialogInterface.OnMultiChoiceClickListener * */new AlertDialog.Builder(this).setTitle("多选").setIcon(R.drawable.ic_launcher)//.setMultiChoiceItems(new String[]{"red","blue","green"}, null, new OnMultiChoiceClickListener(){/* onClick(DialogInterface dialog, int which, boolean isChecked) * 参数一:被点击的对象; * 参数二:被点击的位置,位置是从0开始的 * 参数三:被点击的对象是否选中,如果选中则是true,如果取消选中,则是false */@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked){Toast.makeText(MainActivity.this, "选择了第  "+(which+1)+" 个颜色", Toast.LENGTH_SHORT).show();}}).show();break;case R.id.button6://自定义对话框View view_button = getLayoutInflater().inflate(R.layout.dialog_button_item, null);//转换模板,将定义好的按钮小xml文件转换成View对象final AlertDialog dialog = new AlertDialog.Builder(this).setTitle("自定义").setIcon(R.drawable.ic_launcher).setView(view_button).create();//dialog.show();Button btn = (Button) view_button.findViewById(R.id.button1);//给按钮设置点击事件btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "lalalla", Toast.LENGTH_SHORT).show();dialog.dismiss();//事件执行完成以后,对话框消失}});break;case R.id.button7://时间选择对话框,时分/** * TimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) * 参数一:上下文 * 参数二:TimePickerDialog的点击事件, * 参数三:小时 * 参数四:分钟 * 参数五:是否使用24小时制,是true * */TimePickerDialog tpd = new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener()//此监听事件的接口是在TimePickerDialog.OnTimeSetListener(){@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute){Toast.makeText(MainActivity.this, " "+hourOfDay+":"+minute, Toast.LENGTH_SHORT).show();}},1,1,true );tpd.show();break;case R.id.button8://日期选择对话框,年月日/** * DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) * 参数一:上下文 * 参数二:DatePickerDialog的点击事件, * 参数三:设置年 * 参数四:设置月份 * 参数五:设置日 */DatePickerDialog dpd = new DatePickerDialog(this, new OnDateSetListener(){@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth){Toast.makeText(MainActivity.this, " "+year+" : "+(monthOfYear+1)+" : "+dayOfMonth, Toast.LENGTH_SHORT).show();}}, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH));dpd.show();break;}}}

显示的效果示例:

android之Dialog的使用_第2张图片android之Dialog的使用_第3张图片












    

有兴趣的,可以使用程序慢慢研究。

更多相关文章

  1. Android 在Service开启对话框的方法
  2. Android圆角按钮的制作方法
  3. Android中的Button自定义点击效果之改变点击时按钮的颜色
  4. Android自定义控件——仿ios开关按钮
  5. Android -- Button(按钮)的几种监听方式
  6. android 自定义带关闭按钮的dialog
  7. android 开发使用 kotlin 进行点击事件监听和界面跳转,直接传也方
  8. Android自定义底部显示对话框

随机推荐

  1. android Paint 设置线宽setStrokeWidth()
  2. android获取mac地址方法
  3. 更改ProgressBar颜色,SwipeBack滑动返回
  4. Android(安卓)之通知Notification应用
  5. android文件解析InputStream问题解决
  6. android studio 启动报nexpected excepti
  7. 开始使用Google Maps Android(安卓)API v
  8. Android电池电量更新 - BatteryService(转
  9. Android完全退出应用程序的方法
  10. 一个Android实现图片的倒影效果的代码示