public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 全部对话框记得要加.show()方法,不然不会显示出对话框 // 普通对话框,(警告对话框 、提示对话框) public void alert(View view) { // 能够在监听里面实现本身的一些功能 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setIcon(R.drawable.ic_launcher); builder.setMessage("您真的要退出?"); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT) .show();// 没有实现功能,只是点击了提示一下 } }); builder.setPositiveButton("肯定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "肯定", Toast.LENGTH_SHORT) .show(); } }); builder.setNeutralButton("中立", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "中立", Toast.LENGTH_SHORT) .show(); } }); builder.show(); } // 进度对话框 // 全部对话框记得要加.show()方法,不然不会显示出对话框 public void progress(View view) { ProgressDialog dialog = new ProgressDialog(this); dialog.setTitle("提示"); dialog.setIcon(R.drawable.ic_launcher); dialog.setMessage("正在下载"); dialog.show();// 弹出一个对话框,显示一个去圈圈在加载 } // 日期对话框,能够选择日期,当前日期 public void date(View view) { Calendar calendar = Calendar.getInstance();// 获取当前时间 int year= calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); DatePickerDialog date = new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 月要加一,由于是从0开始 String datetime = year + "-" + (monthOfYear + 1) + "-" + dayOfMonth; Toast.makeText(MainActivity.this, datetime, Toast.LENGTH_SHORT).show(); } }, year, month, day); date.show(); } // 时间对话框 public void time(View view) { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MILLISECOND); TimePickerDialog time = new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String time = hourOfDay + "-" + minute; Toast.makeText(MainActivity.this, time, Toast.LENGTH_SHORT).show(); } }, hour, minute, true); time.show(); } // 自定义对话框,对话框中能够存放本身的布局控件 public void custom(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("用户登陆"); builder.setIcon(R.drawable.ic_launcher); // 填充自定义的登陆视图 View loginView = LayoutInflater.from(this).inflate(R.layout.item, null); final TextView txet_name = (TextView) loginView .findViewById(R.id.text_name); final TextView txet_pass = (TextView) loginView .findViewById(R.id.text_pass); builder.setView(loginView); // 添加一个肯定按钮 builder.setPositiveButton("肯定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String name = txet_name.getText().toString(); String pass = txet_pass.getText().toString(); setTitle(name + ":" + pass); } }); builder.setNegativeButton("取消", null); builder.show(); } } 自定义对话框的自定义布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/text_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" android:inputType="textPersonName" /> <EditText android:id="@+id/text_pass" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword" /> </LinearLayout>