AlertDialog对话框的基本使用 //功能:单击一个按钮控件弹出一个对话框 //该对话框使用很平凡 -- 比较灵活想在哪里用就在哪里建立 一、在res/layout里布局一个按钮 代码: <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" > <Button android:id="@+id/alertdialog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onclickButton" android:text="alertdialog对话框" /> </LinearLayout> -------------------------- 二、在MainActivity 类里 代码: AlertDialog.Builder builder = new AlertDialog.Builder(this);//建立一个对话框 builder.setTitle("提示");//设置对话框的标题 builder.setIcon(R.drawable.ic_launcher);//设置对话框标题旁边的图片 builder.setMessage("肯定退出?");//设置对话框的内容 //setNegativeButton方法 -- 设置AlertDialog对话框的取消按钮 //第一个参数 -- AlertDialog对话框取消按钮要设置的文字 //第二个参数 -- 点击该取消按钮的事件监听 -- 什么也不作 -- 能够设置为null builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show(); } }); //setPositiveButton方法 -- 设置AlertDialog对话框的肯定按钮 //第一个参数 -- AlertDialog对话框肯定按钮要设置的文字 //第二个参数 -- 点击该肯定按钮的事件监听 -- 什么也不作 -- 能够设置为null builder.setPositiveButton("肯定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "肯定", Toast.LENGTH_SHORT).show(); } }); //setNeutralButton方法 -- 设置AlertDialog对话框的中立按钮 //第一个参数 -- AlertDialog对话框中立按钮要设置的文字 //第二个参数 -- 点击该中立按钮的事件监听 -- 什么也不作 -- 能够设置为null builder.setNeutralButton("中立", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "中立", Toast.LENGTH_SHORT).show(); } }); //AlertDialog对话框的显示 builder.show(); =========================================================
ProgressDialog对话框的建立和简单使用java
代码android
ProgressDialog progressdialog = new ProgressDialog(this);//建立一个ProgressDialog对话框
progressdialog.setTitle("提示");//设置ProgressDialog对话框的标题
progressdialog.setIcon(R.drawable.ic_launcher);//设置ProgressDialog对话框标题旁边的图片
progressdialog.setMessage("progressdialog...");//设置ProgressDialog对话框的内容
progressdialog.show();//显示ProgressDialog对话框
progressdialog.dismiss();//隐藏ProgressDialog对话框
ide
========================================================布局
DatePickerDialog(年,月,日)时间对话框的建立和基本使用
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 datepincker = new DatePickerDialog(this, new OnDateSetListener() {
//第一个参数 -- DatePickerDialog时间对话框的视图
//第二个参数 -- 当前选择的 -- 年
//第三个参数 -- 当前选择的 -- 月
//第四个参数 -- 当前选择的 -- 日
//注意:月份要加1 由于月份从0算的
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
String dateString = year + "年" + monthOfYear + "月" + dayOfMonth + "日";
Toast.makeText(MainActivity.this, dateString, Toast.LENGTH_SHORT).show();
}
}, year, month, day);
//显示DatePickerDialog时间对话框
datepincker.show();ui
效果图示例:this
===================================================================
TimePickerDialog时间对话框(小时,分钟)简单建立和基本使用
//获取当前时间
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
INT minute = calendar.get(Calendar.MINUTE);
//建立一个TimePickerDialog时间对话框
//第一个参数 -- 上下文
//第二个参数 -- 时间对话框的事件监听
//第三个参数 -- 当前的 -- 小时
//第四个参数 -- 当前的 -- 分钟
//第四个参数 -- 是不是24小时制
TimePickerDialog timepicker = new TimePickerDialog(this, new OnTimeSetListener() {
code
//第一个参数 -- TimePickerDialog时间对话框视图
//第二个参数 -- 选择的 -- 小时
//第三个参数 -- 选择的 -- 分钟
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String date_time = hourOfDay + ":" + minute ;
Toast.makeText(MainActivity.this, date_time, Toast.LENGTH_SHORT).show();
}
}, hour, minute, true);
//显示TimePickerDialog时间对话框
timepicker.show();xml
效果图示例事件
================================================================图片
自定义对话框的简单建立和基本使用
//注意:自定义对话框是在AlertDialog基础上实现的 用得挺多的
//功能:登陆对话框
一、先在res/layout里布局登陆的界面 login_activity.xml布局文件
代码
<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/edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名" />
<EditText
android:id="@+id/edit_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
android:inputType="textPassword" />
</LinearLayout>
----------------
二、建立自定义对话框
代码
AlertDialog.Builder builder = new AlertDialog.Builder(this);//this -- 上下文
builder.setTitle("登陆对话框");//自定义对话框的标题
builder.setIcon(R.drawable.ic_launcher);//设置自定义对话框标题旁边的图片
//使用填充器找到登陆对话框的布局文件名
View login = LayoutInflater.from(this).inflate(R.layout.login_activity,null);
//找到登陆布局文件名后在找该布局里面的控件名
final EditText edit_name = (EditText) login.findViewById(R.id.edit_name);
final EditText edit_password = (EditText) login.findViewById(R.id.edit_password
builder.setView(login);//设置自定义对话框的视图 -- 把找到的自定义登陆布局放到里面就能够
//自已的对话框的肯定按钮 时间监听
builder.setPositiveButton("肯定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = edit_name.getText().toString();
String password = edit_password.getText().toString();
setTitle(name + "::" + password);
}
});
//取消按钮
builder.setNegativeButton("取消", null);
//显示自定义对话框
builder.show();
效果图示例