android 对话框实例

package com.zhy.dialog;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.AlertDialog.Builder;
import android.app.DatePickerDialog.OnDateSetListener;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;
/**
 * 对话框实例
 * wyl
 *
 */
public class DialogDemoActivity extends Activity implements OnClickListener{
 private Button normalButton;//普通对话框按钮
 private Button listButton;//列表对话框按钮
 private Button radioButton;//单选按钮对话框按钮
 private Button checkButton;//复选按钮对话框按钮
 private Button dateButton;//时间对话框按钮
 private Button proButton;//进度条对话框按钮
 private Button userButton;//自定义对话框按钮
 //年月日
 private int mYear,mMonth,mDay;
 //进度条对话框
 private ProgressDialog progressDialog;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
    }
    //初始化组件
    private void init(){
     normalButton = (Button) findViewById(R.id.normalButton);
     listButton = (Button) findViewById(R.id.listButton);
     radioButton = (Button) findViewById(R.id.radioButton);
     checkButton = (Button) findViewById(R.id.checkButton);
     dateButton = (Button) findViewById(R.id.dateButton);
     proButton = (Button) findViewById(R.id.proButton);
     userButton = (Button) findViewById(R.id.userButton);
     //添加事件
     normalButton.setOnClickListener(this);
     listButton.setOnClickListener(this);
     radioButton.setOnClickListener(this);
     checkButton.setOnClickListener(this);
     dateButton.setOnClickListener(this);
     proButton.setOnClickListener(this);
     userButton.setOnClickListener(this);
     
     //获得年月日
     Calendar c = Calendar.getInstance();
     mYear = c.get(Calendar.YEAR);
     mMonth = c.get(Calendar.MONTH);
     mDay = c.get(Calendar.DAY_OF_MONTH);
     progressDialog = new ProgressDialog(this);
     
    }
   
 public void onClick(View v) {
  switch (v.getId()) {
  //点击普通对话框按钮
  case R.id.normalButton:
   //实例化AlertDialog.Builder对象
   AlertDialog.Builder builder = new AlertDialog.Builder(this);
   //设置标题和内容,添加按钮
   builder.setTitle("普通对话框").setMessage("是否删除?").setPositiveButton("是",
     new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
     //提示
     Toast.makeText(DialogDemoActivity.this, "删除成功!", Toast.LENGTH_SHORT).show();
    }
   }).setNegativeButton("否", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
     //对话框消失
     dialog.dismiss();
    }
   });
   //创建并显示对话框
   builder.create().show();
   break;
  case R.id.listButton://列表对话框
   showListDialog();
   break;
  case R.id.radioButton://单选按钮对话框
   radiaDialog();
   break;
  case R.id.checkButton://复选按钮对话框
   checkDialog();
   break;
  case R.id.dateButton://时间选择对话框
   new DatePickerDialog(this, dateSetListener, mYear, mMonth, mDay).show();
   break;
  case R.id.proButton://进度条对话框
   progressDialog.setProgress(0);
   progressHandler.sendEmptyMessage(0);
   proDialog();
   break;
  case R.id.userButton:
   userDialog();
   break;
  }
 }
 //列表对话框
 private void showListDialog(){
  final String[] provices = new String[]{"北京","湖南","江苏","上海","浙江"};
  AlertDialog.Builder builder = new Builder(this);//实例化AlertDialog.Builder
  builder.setTitle("选择省份");//设置对话框的标题
  builder.setItems(provices, new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    //显示选择的城市
    Toast.makeText(DialogDemoActivity.this, "选择的城市为:"+provices[which], Toast.LENGTH_SHORT).show();
   }
  });
  builder.create().show();//创建、显示对话框
 }
 //单选按钮对话框
 private void radiaDialog(){
  final String[] provices = new String[]{"北京","湖南","江苏","上海","浙江"};
  AlertDialog.Builder builder = new Builder(this);
  builder.setTitle("单选按钮对话框");
  builder.setSingleChoiceItems(provices, 0, new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    Toast.makeText(DialogDemoActivity.this, "选择的城市为:"+provices[which], Toast.LENGTH_SHORT).show();
   }
  });
  builder.create().show();
 }
 //复选按钮对话框
 private void checkDialog(){
  final String[] favs = new String[]{"看书","打游戏","上网","游泳"};
  AlertDialog.Builder builder = new Builder(this);
  builder.setTitle("复选按钮对话框");
  //设置为复选按钮对话框
  builder.setMultiChoiceItems(favs, new boolean[]{false, false, false, false},
    new DialogInterface.OnMultiChoiceClickListener() {
     public void onClick(DialogInterface dialog, int which, boolean isChecked) {
      if(isChecked){
       Toast.makeText(DialogDemoActivity.this, "选择的城市为:"+favs[which], Toast.LENGTH_SHORT).show();
      }
     }
    });
  builder.create().show();
 }
 //日期选择对话框事件
 private OnDateSetListener dateSetListener = new OnDateSetListener() {
  public void onDateSet(DatePicker view, int year, int monthOfYear,
    int dayOfMonth) {
   mYear = year;
   mMonth = monthOfYear;
   mDay = dayOfMonth;
   String date = mYear +"年"+(mMonth+1)+"月"+mDay+"日";
   Toast.makeText(DialogDemoActivity.this, "设置的时间为:"+date, Toast.LENGTH_LONG).show();
  }
 };
 //与进度条对话框相关的设置
 private void proDialog(){
  progressDialog.setIcon(R.drawable.alert_dialog_icon);//设置图标
  progressDialog.setTitle("进度条对话框");//设置标题
  progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置样式
  progressDialog.setMax(100);
  progressDialog.setButton("Hide", new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    
   }
  });
  progressDialog.setButton2("Cancel", new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    progressDialog.setProgress(0);
   }
  });
  progressDialog.show();
 }
 //处理进度的数值的改变
 private Handler progressHandler = new Handler(){
  public void handleMessage(android.os.Message msg) {
    int progress = 0;
    progress++;
    progressDialog.incrementProgressBy(1);
    progressHandler.sendEmptyMessageDelayed(0, 100);
  };
 };
 //自定义对话框
 private void userDialog(){
  View userView = this.getLayoutInflater().inflate(R.layout.login, null);//视图
  //声明
  AlertDialog.Builder builder = new Builder(this);
  builder.setTitle("用户登录");
  builder.setView(userView);//设置视图
  //添加按钮
  builder.setPositiveButton("登录", new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    
   }
  }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
   
   public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
   }
  });
  builder.create().show();//显示对话框
  
  
  
 }
}

你可能感兴趣的:(java,android,dialog)