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();//显示对话框



}
}

更多相关文章

  1. Android 中的 BACK 和 HOME 按钮的区别
  2. Android对话框风格的Activity代码
  3. 毕设---android按钮事件
  4. Android实现各种对话框的变体
  5. android gridview按钮边框和定制点击颜色
  6. android 如何在对话框中获取edittext中的数据
  7. android 按钮Button单击背景切换

随机推荐

  1. DevOps实践永无止境!
  2. 苹果Mac轻量级音频编辑器: Fission 助你实
  3. eNSP:hybrid接口配置实例
  4. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启
  5. DevOps和它的朋友们——聊聊其他“Ops”(
  6. Service Mesh对比:Istio与Linkerd
  7. BBED系列之编译安装(1)
  8. Git 工具和指令集合
  9. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显
  10. 删去k个数字后的最小值