/**
* 弹出确定取消对话框
*
* @param view
*/
public void click01(View view) {
// 工厂设计模式,得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("警告");
builder.setMessage("若练此功,必先自宫,是否继续?");
builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "啊...即便自宫,也不一定能成功", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "如果不自宫,一定不成功", Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
/**
* 单选对话框
*
* @param view
*/
public void click02(View view) {
// 工厂设计模式,得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择您的性别:");
final String[] items = {"男", "女", "人妖"};
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您的性别为:" + items[which], Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.show();
}
/**
* 多选对话框
*
* @param view
*/
public void click03(View view) {
// 工厂设计模式,得到创建对话框的工厂
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("请选择您爱吃的水果:");
final String[] items = {"苹果", "梨子", "香蕉", "菠萝", "哈密瓜"};
final boolean[] checkeds = {true, false, true, false, true};
builder.setMultiChoiceItems(items, checkeds, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(MainActivity.this, items[which] + isChecked, Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("提交", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < checkeds.length; i++) {
if (checkeds[i]) {
sb.append(items[i] + " ");
}
}
Toast.makeText(MainActivity.this, "您喜欢吃的水果是:" + sb.toString(), Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
/**
* 进度对话框
*
* @param view
*/
public void click04(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
pd.setMessage("正在拼命加载中...");
pd.show();
new Thread() {
@Override
public void run() {
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pd.dismiss();
}
}.start();
}
/**
* 带具体进度的对话框
*
* @param view
*/
public void click05(View view) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍后:");
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("正在拼命加载中...");
// 设置进度条的最大值
pd.setMax(100);
pd.show();
new Thread() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(300);
pd.setProgress(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
pd.dismiss();
}
}.start();
}
- 输入框的
final EditText inputServer = new EditText(this);
inputServer.setHint("url");
inputServer.setText(url);
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
builder.setTitle("请求不到服务器,请检查url:");
builder.setView(inputServer);
// 通过LayoutInflater来加载一个xml的布局文件作为一个View对象
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
String server = inputServer.getText().toString().trim();
// 将输入的打印出来
Toast.makeText(LoginActivity.this, " url" + server, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(LoginActivity.this,"你一点击取消", Toast.LENGTH_SHORT).show();
}
});
builder.show();
网上也有比较好的
https://blog.csdn.net/wanzdhan/article/details/7024834