1: AlertDialog
setTitle():给对话框设置title.
setIcon():给对话框设置图标。
setMessage():设置对话框的提示信息
setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
setSingleChoiceItems():设置对话框显示一个单选的List
setMultiChoiceItems():用来设置对话框显示一系列的复选框。
setPositiveButton():给对话框添加”Yes”按钮。
setNegativeButton():给对话框添加”No”按钮。
setNeutralButton: 给对话框添加中间的按钮
creat: 创建对话框
show():显示对话框,一般放最后
使用如下:
private void dialogText(){
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
// builder.setMessage("你确定吗????");//使用别的填充内容如setItems()就不能用setMessage;
builder.setTitle("独自漂泊");
builder.setIcon(R.drawable.ic_launcher);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
tv1.setText("点击的是确定");
}
});
builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
tv1.setText("点击的是取消");
}
});
builder.setNeutralButton("中间", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
tv1.setText("点击的是中间");
}
});
builder.setItems(new String[]{"显示点击第一项","显示点击第二项"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int position) {
// TODO Auto-generated method stub
switch (position) {
case 0:
tv1.setText("点击的是第一项");
break;
case 1:
tv1.setText("点击的是第二项");
break;
default:
break;
}
}
});
builder.create().show();
}
2.progressDialog
属性:
setProgressStyle:设置进度条风格,风格为圆形,旋转的。
setTitlt:设置标题
setMessage:设置提示信息;
setIcon:设置标题图标;
setIndeterminate:设置ProgressDialog 的进度条是否不明确;这个属性对于ProgressDailog默认的转轮模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBar的Dialog有作用。修改这个属性为false后可以实时更新进度条的进度。
setCancelable:设置ProgressDialog 是否可以按返回键取消;
CancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。
setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
show:显示ProgressDialog。
cancel:删除progressdialog
dismiss: 删除progressdialog 作用和cancel相同
setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条
使用如下:/**
* dialog2 进度条对话框;
*/
private void dilogText2() {
final ProgressDialog dialog;
dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("进度条");
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setMessage("正在处理中。。。。");
dialog.setIcon(R.drawable.ic_launcher);
dialog.setIndeterminate(false);
dialog.setCancelable(false);
// dialog.setProgress(num);
dialog.setButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.show();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
int num=0;
if (num>4) {
dialog.dismiss();
}
System.out.println("已花费 : "+num+" s");
num++;
}
};
timer.schedule(task,1,1000);
}
3 :通过window 添加的contentview;效果还可以:
private AlertDialog dialog;
private void dialogText3() {
dialog = new AlertDialog.Builder(MainActivity.this).create();
dialog.show();
Window window=dialog.getWindow();
window.setContentView(R.layout.dialogbase);
Button buttonYes=(Button) window.findViewById(R.id.buttonYes);
Button buttonNo=(Button) window.findViewById(R.id.buttonNo);
buttonNo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv1.setText("点击的是第No");
dialog.dismiss();
}
});
buttonYes.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv1.setText("点击的是确定");
dialog.dismiss();
}
});
}
4:类似第三个:但是有个标题栏,是根据dialog做的
private void dialogText4(){
final Dialog mDialog=new Dialog(MainActivity.this);
LayoutInflater inflater=LayoutInflater.from(getApplicationContext());
View view=inflater.inflate(R.layout.dialogbase, null);
// mDialog.setTitle("这事标题");
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//这个就可以去除标题栏了;
mDialog.setContentView(view);
Button buttonYes=(Button) view.findViewById(R.id.buttonYes);
Button buttonNo=(Button) view.findViewById(R.id.buttonNo);
buttonNo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv1.setText("点击的是第NNNNNNNNNNNNNNNNNN");
mDialog.dismiss();
}
});
buttonYes.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
tv1.setText("点击的是YYYYYYYYYYYYY");
mDialog.dismiss();
}
});
mDialog.show();
}