什么是Dialog
对话框是在当前界面弹出的一个小窗口,用于显示重要提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等。一般情况下,用户要与对话框进行交互,然后返回到被遮盖的界面继续进行当前的应用程序;
几种常见的Dialog
确认对话框
单选按钮对话框
多选按钮对话框
列表对话框
public class DialogActivity extends AppCompatActivity implements View.OnClickListener{
private TextView show;
String[] items ={"北京","上海","广州","深圳"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
initEvent();
}
private void initEvent() {
findViewById(R.id.dialog1).setOnClickListener(this);
findViewById(R.id.dialog2).setOnClickListener(this);
findViewById(R.id.dialog3).setOnClickListener(this);
show = (TextView) findViewById(R.id.my_tex);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.dialog1:{
showDialog1();
break();
}
case R.id.dialog2:{
showDialog2();
break();
}
case R.id.dialog3:{
showDialog3();
break();
}
}
}
//确认对话框
private void showDialog1() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMessage("这是显示确认的对话框");
/*
添加确认按钮
*/
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了确认按钮", Toast.LENGTH_SHORT).show();
}
});
/*
添加取消按钮
*/
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
//单选对话框
private void showDialog2() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选列表");
builder.setIcon(R.mipmap.ic_launcher);
builder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
show.setText("你选中了:"+items[which]);
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了确认按钮", Toast.LENGTH_SHORT).show();
}
});
/*
添加取消按钮
*/
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
//多选列表对话框
private void showDialog3() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选列表");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMultiChoiceItems(items,new boolean[] {false,true,false,true},null );
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了确认按钮", Toast.LENGTH_SHORT).show();
}
});
/*
添加取消按钮
*/
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}