相关参考:

工程结构图:

activity_main.xml内容:

    
    
       
    
                
              
        
                
       

MainActivity.java

package cn.lebo.testdialog;import android.support.v7.app.ActionBarActivity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.*;import android.view.View.*;import android.widget.*;public class MainActivity extends ActionBarActivity implements OnClickListener {		private Button btn1 = null;	private Button btn2 = null;	private Button btn3 = null;	private Button btn4 = null;	private Button btn5 = null;	private Button btn6 = null;	private Button btn7 = null;	private Button btn8 = null;		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);				btn1 = (Button) findViewById(R.id.button1);		btn2 = (Button) findViewById(R.id.button2);		btn3 = (Button) findViewById(R.id.button3);		btn4 = (Button) findViewById(R.id.button4);		btn5 = (Button) findViewById(R.id.button5);		btn6 = (Button) findViewById(R.id.button6);		btn7 = (Button) findViewById(R.id.button7);		btn8 = (Button) findViewById(R.id.button8);				btn1.setOnClickListener(this);		btn2.setOnClickListener(this);		btn3.setOnClickListener(this);		btn4.setOnClickListener(this);		btn5.setOnClickListener(this);		btn6.setOnClickListener(this);		btn7.setOnClickListener(this);		btn8.setOnClickListener(this);	}	@Override	public boolean onCreateOptionsMenu(Menu menu) {		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main, menu);		return true;	}	@Override	public boolean onOptionsItemSelected(MenuItem item) {		// Handle action bar item clicks here. The action bar will		// automatically handle clicks on the Home/Up button, so long		// as you specify a parent activity in AndroidManifest.xml.		int id = item.getItemId();		if (id == R.id.action_settings) {			return true;		}		return super.onOptionsItemSelected(item);	}		public void onClick(View v) {				switch(v.getId()){				case R.id.button1:			dialog1();			break;		case R.id.button2:			dialog2();			break;					case R.id.button3:			dialog3();			break;					case R.id.button4:			dialog4();			break;					case R.id.button5:			dialog5();			break;					case R.id.button6:			dialog6();			break;					case R.id.button7:			dialog7();			break;				case R.id.button8:			dialog8();			break;					default:			break;		}	}		protected void dialog1(){				AlertDialog.Builder builder = new Builder(MainActivity.this);		builder.setMessage("确认退出吗");		builder.setTitle("提示");		builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {						@Override			public void onClick(DialogInterface dialog, int which) {				dialog.dismiss();				MainActivity.this.finish();			}		});				builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {						@Override			public void onClick(DialogInterface dialog, int which) {				dialog.dismiss();			}		});		builder.create().show();	}		protected void dialog2(){				AlertDialog.Builder builder2 = new Builder(MainActivity.this);		builder2.setTitle("明星调查");		builder2.setMessage("您喜欢范冰冰吗?");		builder2.setIcon(R.drawable.cat);				builder2.setPositiveButton("很喜欢", new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				Toast.makeText(MainActivity.this, "我很喜欢范冰冰哦", Toast.LENGTH_LONG).show();			}					});				builder2.setNegativeButton("不喜欢", new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				Toast.makeText(MainActivity.this, "我不太喜欢她", Toast.LENGTH_LONG).show();			}					});				builder2.setNeutralButton("一般", new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				Toast.makeText(MainActivity.this, "对他不是很感冒", Toast.LENGTH_LONG).show();			}					});				builder2.create().show();	}	protected void dialog3(){		AlertDialog.Builder builder3 = new Builder(MainActivity.this);		builder3.setTitle("请输入信息");		builder3.setIcon(R.drawable.warn);		builder3.setView(new EditText(this));		builder3.setPositiveButton("确定", null);		builder3.setNegativeButton("取消", null);		builder3.create().show();	}		protected void dialog4(){		AlertDialog.Builder builder4 = new Builder(MainActivity.this);		builder4.setTitle("单选框");		builder4.setIcon(R.drawable.warn);		builder4.setSingleChoiceItems(new String[]{"宋茜","古力娜扎"}, 0, new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				dialog.dismiss();			}});		builder4.setNegativeButton("取消", null);		builder4.create().show();	}		protected void dialog5(){		AlertDialog.Builder builder5 = new Builder(MainActivity.this);		builder5.setTitle("您喜欢哪些明星?");		builder5.setMultiChoiceItems(new String[] {"范冰冰","高圆圆","Angelababy","章子怡","李冰冰","周迅"}, null, null);		builder5.setPositiveButton("确定", null);		builder5.setNegativeButton("取消", null);		builder5.create().show();	}		protected void dialog6(){		LayoutInflater layoutinflater = getLayoutInflater(); 		View view = layoutinflater.inflate(R.layout.login, null);		EditText edit_user = (EditText) view.findViewById(R.id.edit_user);		EditText edit_passwd = (EditText) view.findViewById(R.id.edit_passwd);		final String user_name = edit_user.getText().toString();		final String pass_wd = edit_passwd.getText().toString();				Builder dialog=new AlertDialog.Builder(MainActivity.this);		dialog.setTitle("用户登陆");		dialog.setMessage("登陆");		dialog.setView(view);		dialog.setPositiveButton("登陆", new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				if(user_name.equals("water")&& pass_wd.equals("123abc")){					Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_LONG).show();				}else{					Toast.makeText(MainActivity.this, "登陆失败", Toast.LENGTH_LONG).show();				}			}					});		dialog.setNegativeButton("取消", new DialogInterface.OnClickListener(){			@Override			public void onClick(DialogInterface dialog, int which) {				// TODO Auto-generated method stub							}					});		dialog.create();		dialog.show();	}	protected void dialog7(){		Dialog dialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener(){			@Override			public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {				Toast.makeText(MainActivity.this, "您选择的时间是: " + year +"年"+ monthOfYear + "月" + dayOfMonth + "日" , Toast.LENGTH_LONG).show();			}					}, 2015, 8, 1);				dialog.show();	}		protected void dialog8(){		final ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "正在搜索网络", "请稍候");		new Thread(){			public void run(){				try{					Thread.sleep(3000);				}catch(InterruptedException e){					e.printStackTrace();				}				finally{					dialog.dismiss();				}			}		}.start();			}}

其中自定义对话框布局文件login.xml代码:

  
       
       
        
                
       
        
                    

运行结果