对话框:
单选对话框
多选对话框
进度对话框
对话框的初始化
AlertDialog.Builder builder = new Builder(当前Activity的上下文);
对话框设置属性
builder.setTitle(title);-->设置标题
builder.setMessage(msg);-->设置提醒信息
设置对话框按钮
builder.setPositiveButton(按钮文字,new DialogInterface.OnClickListener());-->最右边的按钮
builder.setNegativeButton(按钮文字,new DialogInterface.OnClickListener());-->最左边的按钮
builder.setNeutralButton(按钮文字,new DialogInterface.OnClickListener());-->中间的按钮
对话框显示
builder.show();
对话框样式
setSingleChoiceItems()-->单选
setMultiChoiceItems()-->多选
ProgressDialog -->进度条
确定取消对话框:
代码:
//builder可以理解成一个构造器,构造对话框所需要的一些数据,最后由dialog来进行显示
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("警告:");
builder.setMessage("若练此功,必先自宫,是否继续?");
builder.setPositiveButton("确定自宫", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "啊....", 0).show();
}
});
builder.setNegativeButton("想想再说", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "如不自宫,一定不成功", 0).show();
}
});
AlertDialog dialog = builder.create();
dialog.setCancelable(false);//设置其他空白区域点击是否可以关闭我们的dialog
dialog.show();//注意一定要调用show否则显示不了对话框
单选对话框:
代码如下:
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("请选择您的性别:");
final String[] items = { "男", "女", "中性" };
/**第一个参数为显示的条目数组,第二个参数为默认选中的条目,-1即不选中任何条目*/
builder.setSingleChoiceItems(items, -1, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您的性别:" + items[which], 0).show();
}
});
//点击事件如果设置为null则默认点击关闭对话框
builder.setNegativeButton("取消选择", null);
builder.show();
多选对话框:
代码如下:
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("请选择您爱吃的水果");
final String[] items = new String[] { "黄瓜", "苹果", "香蕉", "菠萝菠萝蜜" };
//条目的状态数组 true为选中 false为不选中
final boolean[] checkedItems = new boolean[] { true, true, false, false };
builder.setMultiChoiceItems(items, checkedItems,
new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
Toast.makeText(MainActivity.this,
items[which] + isChecked, 0).show();
checkedItems[which] = isChecked;
}
});
builder.setNegativeButton("取消选择", null);
builder.show();正在加载对话框
3秒后加载进入
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("提醒");
pd.setMessage("正在加载数据...请稍后");
pd.show();
new Thread() {
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();//关闭对话框
};
}.start();
进度对话框:
代码如下:
final ProgressDialog pd = new ProgressDialog(this);
//进度条的风格为水平进度条
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMax(100);//进度条的最大值
pd.setTitle("提醒");
pd.setMessage("正在加载数据...请稍后");
pd.show();
new Thread() {
public void run() {
for (int i = 0; i <= 100; i++) {
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.setProgress(i);//设置当前进度值
}
pd.dismiss();
};
}.start();