AlertDialog:
show():显示对话框
没有公开的构造方法,只能通过其内部类Builder来创建
AlterDialog.Builder:
create():创建AlertDialog对象
show():创建AlertDialog对象,同时将其显示出来
setTitle(CharSequence title):设置标题
setMassage(CharSequence massage):设置内容
setPositiveButton(String text,OnClickListener listener):设置正面按钮;返回的位置-1
setNegativeButton(String text,OnClickListener listener):设置方面按钮;返回的位置-2
setNegativeButton(String text,OnClickListener listener):设置中间按钮;返回的位置-3
dismiss():移除dialog
setSingleChoiceItems(...):设置但选项列表
自定义:
DialogBuilder:
setView(View view):设置Dialog中的视图
View:
View Inflate(Context context,int resourse,ViewGroup root):动态加载布局得到View
//日历
ProgressDialog:
static show(Context context,CharSquence title,CharSequence mseeage):显示Dialog
new ProgressDialog(Context context):构造方法
setProgressStyle(int style):设置样式
ProgressDialog.STYLE_HORIZONTAL:水平进度条样式
DateDialog:日期Dialog
public DatePickerDialog(Context context,创建日历对象
OnDateSetListener callBack,//点击确定的回调方法
int year,//显示年份
int monthOfYear,//显示月份
int dayOfMonth)//显示日
Calendar calendar=Calendar.getInstance()
//得到年月日
int year=calendar.get(Calendar.YEAR);
int monthOfYear=calendar.get(Calendar.MONTH);
itn dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);
//时间
public TimePickerDialog(Context context,:创建时间对象
OnTimeSetListener callBack,//点击确定的回调方法
int hourOfDay,//几点
int minute,//j几分
boolean is24HourView)//是否是24小时制
Calendar calendar=Calendar.getInstance()
int hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
一般dialog:
public void standardAlert(View view){
new AlertDialog.Builder(this)
.setTitle("标题栏")
.setMessage("内容")
.setPositiveButton("确认", listener)
.setNegativeButton("取消", listener)
.setNeutralButton("返回-3", listener)
.show();
listener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case -1:
Toast.makeText(MainActivity.this,"-1",Toast.LENGTH_SHORT).show();
break;
case -2:
Toast.makeText(MainActivity.this,"-2",Toast.LENGTH_SHORT).show();
case -3:
Toast.makeText(MainActivity.this,"-3",Toast.LENGTH_SHORT).show();
break;
}
}
};
}
显示列表菜单:
public void showLD(View view){
final String[] str={"1","2","3"};//final的变量在方法执行后还存在。个人理解是传数据用的
new AlertDialog.Builder(this)
.setTitle("标题栏")
.setSingleChoiceItems(str, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//提示位置
Toast.makeText(MainActivity.this,""+which,Toast.LENGTH_SHORT).show();
//移除dialog
dialog.dismiss();
}
})
.show();
}
自定义Dialog:
public void showCD(View view){
View inflate = View.inflate(this, R.layout.cd_alterdialog, null);
final EditText username=(EditText) inflate.findViewById(R.id.username);
final EditText password=(EditText) inflate.findViewById(R.id.password);
new AlertDialog.Builder(this)
.setView(inflate)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name=username.getText().toString();
String pass=password.getText().toString();
System.out.println(name);
Toast.makeText(MainActivity.this,name+"---"+pass ,Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"null",Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
})
.show();
}
圆形进度条dialog:
public void showPD(View view){
final ProgressDialog pd = ProgressDialog.show(this, "标题", "数据加载中.....");
pd.show();
//模拟做一个长时间工作
new Thread(){
@Override
public void run() {
for(int i=0;i<20;i++){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
pd.dismiss();
//不能再分线程跟新ui,Toast也要再ui线程执行
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"加载失败",Toast.LENGTH_SHORT).show();
}
});
}
}.start();
}
显示直线进度条:
public void dialogLD(View view){
final ProgressDialog pd= new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.show();
new Thread(new Runnable() {
@Override
public void run() {
int count=20;
pd.setMax(count);
for(int i=0;i<20;i++ ){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.setProgress(pd.getProgress()+1);
}
pd.dismiss();
}
}).start();
}
创建日历对象:
public void dateDialog(View view){
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int monthOfYear=calendar.get(Calendar.MONTH);
int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
}
},year,monthOfYear,dayOfMonth).show();
}
创建时间对象:
public void showTimeAD(View view){
Calendar calendar=Calendar.getInstance();
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
}
},hour,minute,true).show();
}