Dialog 对话框
2016-04-24 18:51
435 查看
在当前界面弹出小窗口,用于提示重要提示信息,提示用户输入信息,确认信息,
或者显示某种状态,如下载进度,退出提示等等。
一般情况下,用户需要与对话框进行交互,然后返回到被遮盖的界面
以继续运行当前的应用程序。
几种常见的Dialog
确认Dialog
单选按钮Dialog
多选按钮Dialog
列表Dialog
注意:
要创建一个AlertDialog,需要用到AlertDialog.Builder中的create()方法。
常用方法
setTitle:为Dialog设置标题
setIcon:为Dialog设置图标
setMessage: 为Dialog设置内容
setView:给Dialog是设置自定义样式
setItems:设置Dialog要显示的一个List,一般用于显示几个命令时
setMultiChoiceItems:设置Dialog显示一系列的复选框
setSingleChoiceItems:设置单选按钮
setNeutralButton:普通按钮
setPositiveButton:给对话框添加确认按钮
setNegativeButton:对话框添加取消按钮
example:
-----------------------------------------------------------------------------------------------------------
//各种对话框的创建
/*
* 其中自定义对话框实现步骤如下
* 首先 先把自定义的.xml文件转换成View对象(之前已经使用过)
* LayoutInflater inflater = LayoutInflater.from(this);
* View view = inflater.inflate(R.layout.dialog,null);
* 然后调用builder的setView方法添加
*/
public class MainActivity extends Activity {
String [] singledata={"中国" ,"日本" ,"美国", "俄罗斯"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initEvent();
}
private void initEvent() {
// TODO Auto-generated method stub
findViewById(R.id.dialog_bt1).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog1();
}
});
findViewById(R.id.dialog_bt2).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog2();
}
});
findViewById(R.id.dialog_bt3).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog3();
}
});
findViewById(R.id.dialog_bt4).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog4();
}
});
findViewById(R.id.dialog_bt5).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog5();
}
});
}
protected void showDialog5() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.dialog,null);
builder.setView(view);
AlertDialog dialog = builder.create();
dialog.show();
}
protected void showDialog4() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("列表对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(singledata, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了"+singledata[which], Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
protected void showDialog3() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setPositiveButton("完成", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"完成", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.setMultiChoiceItems(singledata, null, new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked)
{
Toast.makeText(MainActivity.this, "选择了"+singledata[which], Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(MainActivity.this, "取消了"+singledata[which], Toast.LENGTH_SHORT).show();
}
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
protected void showDialog2() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选对话框");
builder.setIcon(R.drawable.ic_launcher);
//第一次参数为数组,即是单选框的内容
builder.setSingleChoiceItems(singledata, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String stt = singledata[which];
Toast.makeText(MainActivity.this,"你选择的是:"+stt,Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
private void showDialog1() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("确认对话框的内容");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了确定按钮", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
}
或者显示某种状态,如下载进度,退出提示等等。
一般情况下,用户需要与对话框进行交互,然后返回到被遮盖的界面
以继续运行当前的应用程序。
几种常见的Dialog
确认Dialog
单选按钮Dialog
多选按钮Dialog
列表Dialog
注意:
要创建一个AlertDialog,需要用到AlertDialog.Builder中的create()方法。
常用方法
setTitle:为Dialog设置标题
setIcon:为Dialog设置图标
setMessage: 为Dialog设置内容
setView:给Dialog是设置自定义样式
setItems:设置Dialog要显示的一个List,一般用于显示几个命令时
setMultiChoiceItems:设置Dialog显示一系列的复选框
setSingleChoiceItems:设置单选按钮
setNeutralButton:普通按钮
setPositiveButton:给对话框添加确认按钮
setNegativeButton:对话框添加取消按钮
example:
-----------------------------------------------------------------------------------------------------------
//各种对话框的创建
/*
* 其中自定义对话框实现步骤如下
* 首先 先把自定义的.xml文件转换成View对象(之前已经使用过)
* LayoutInflater inflater = LayoutInflater.from(this);
* View view = inflater.inflate(R.layout.dialog,null);
* 然后调用builder的setView方法添加
*/
public class MainActivity extends Activity {
String [] singledata={"中国" ,"日本" ,"美国", "俄罗斯"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initEvent();
}
private void initEvent() {
// TODO Auto-generated method stub
findViewById(R.id.dialog_bt1).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog1();
}
});
findViewById(R.id.dialog_bt2).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog2();
}
});
findViewById(R.id.dialog_bt3).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog3();
}
});
findViewById(R.id.dialog_bt4).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog4();
}
});
findViewById(R.id.dialog_bt5).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog5();
}
});
}
protected void showDialog5() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.dialog,null);
builder.setView(view);
AlertDialog dialog = builder.create();
dialog.show();
}
protected void showDialog4() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("列表对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(singledata, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了"+singledata[which], Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
protected void showDialog3() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多选对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setPositiveButton("完成", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"完成", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
builder.setMultiChoiceItems(singledata, null, new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked)
{
Toast.makeText(MainActivity.this, "选择了"+singledata[which], Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(MainActivity.this, "取消了"+singledata[which], Toast.LENGTH_SHORT).show();
}
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
protected void showDialog2() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选对话框");
builder.setIcon(R.drawable.ic_launcher);
//第一次参数为数组,即是单选框的内容
builder.setSingleChoiceItems(singledata, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String stt = singledata[which];
Toast.makeText(MainActivity.this,"你选择的是:"+stt,Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
private void showDialog1() {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("确认对话框的内容");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了确定按钮", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"点击了取消按钮", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories