1. AlertDialog
该对话框中可以放置1~3个按键和一系列的 Items 。
实例:
实例代码:
该对话框中可以放置1~3个按键和一系列的 Items 。
实例:
public class MainActivity extends Activity {
.....................
// 定义3个item列表选项
private final CharSequence[] items = { "北京", "上海", "广州" };
public void onCreate(Bundle savedInstanceState) {
..............
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("提示");
builder.setMessage("你确定要删除吗?");
builder.setIcon(R.drawable.ic_action_search);
builder.setPositiveButton("确定", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// 完成用户的操作,比如删除数据、提交请求等
// dialog.dismiss();//让对话框消失
}
});
builder.setNegativeButton("取消", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// 取消用户的操作,比如是停止下载
}
});
builder.setNeutralButton("忽略", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// 忽略用户的操作
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();// 让对话框显示
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择以下城市");
// builder.setMessage("请选择以下城市");//不能设置Message的内容
builder.setItems(items, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
CharSequence select_item = items[which];
Toast.makeText(MainActivity.this, "-->>" + select_item,1).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择以下城市");
builder.setSingleChoiceItems(items, -1, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
CharSequence select_item = items[which];
Toast.makeText(MainActivity.this, select_item, 1).show();
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
button4.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择以下城市");
// 第二个参数可以设置为null,表示没有选择默认被选中
//使用StringBuffer 追加,中间用逗号分隔开
builder.setMultiChoiceItems(R.array.city, new boolean[] { false,false, false }, new OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which,boolean isChecked) {
}
});
builder.setPositiveButton("确定", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//直接获取dialog 的选中的值
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
}
2. ProgressDialog
实例代码:
public class MainActivity extends Activity {
................
public void onCreate(Bundle savedInstanceState) {
...........
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {//转圈
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("提示");
dialog.setMessage("正在加载,请稍后.....");
dialog.show();// 显示对话框
// dialog.dismiss();//隐藏对话框,结合线程或者消息使用
}
});
button2.setOnClickListener(new View.OnClickListener() {//进度条
public void onClick(View v) {
// new ProgressDialog(MainActivity.this,ProgressDialog.STYLE_HORIZONTAL);第一种方式
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("下载提示");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(50);// 如果加上线程操作,
dialog.setCancelable(false);//这时点击是无效的
dialog.show();
}
});
button3.setOnClickListener(new View.OnClickListener() {
//创建一个自定义的对话框
public void onClick(View v) {
CustomDialog dialog = new CustomDialog(MainActivity.this);
dialog.show();
}
});
}
}
自定义对话框:
public class CustomDialog {
private Context context;
private Dialog dialog;
public CustomDialog(Context context) {
this.context = context;
dialog = new Dialog(context);
}
public void show() {
View view = LayoutInflater.from(context).inflate(R.layout.custom_dialog, null);
// setContentView(R.layout.custom_dialog);//加载自定义对话框的布局
dialog.setContentView(view);
dialog.setTitle("自定义的对话框");
TextView textView = (TextView) view.findViewById(R.id.text);
textView.setText("你好,自定义对话框");
textView.setTextColor(Color.BLACK);
ImageView imageView = (ImageView) view.findViewById(R.id.image);
imageView.setImageResource(R.drawable.pro6);
dialog.show();
}
}