Android之Dialog

来源:互联网 发布:myeye cms监控软件 编辑:程序博客网 时间:2024/06/05 10:15

1.确认对话框

private void showDialog1() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("这是一个确认对话框");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {


@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {


@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}

2.单选按钮对话框


private void showDialog2() {

String[] single_list = {"男","女"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选按钮对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setSingleChoiceItems(single_list, 0, new DialogInterface.OnClickListener() {


@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, single_list[which], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}

3.多选按钮对话框


private void showDialog3() {

String[] multi_list = {"篮球","排球","乒乒球","足球"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选按钮对话框");
builder.setIcon(R.drawable.ic_launcher);
boolean[] ischeck = {true, false, false, false};
builder.setMultiChoiceItems(multi_list, ischeck, new OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
Toast.makeText(MainActivity.this, multi_list[which], Toast.LENGTH_SHORT).show();
}
}
});
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}

4.列表对话框


private void showDialog4() {

String[] item_list = {"JAVA" , "C" ,"C++" ,"C#" ,"PHP"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("列表对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(item_list, new AlertDialog.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, item_list[which], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}

5.自定义对话框


private void showDialog5() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
builder.setIcon(R.drawable.ic_launcher);
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.layout_dialog, null);
builder.setView(view);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
}


注:

alertDialog.setCanceledOnTouchOutside(false);设置返回键可退出对话框,点击屏幕不退出。

alertDialog.setCancelable(false);设置返回键和点击屏幕都不退出。


1 0