您的位置:首页 > 其它

Dialog

2016-07-17 22:29 239 查看

第十天·Dialog

常规对话框

一、声明布局里的button控件及初始化

二、创建button的点击事件

1、先创建builder对象
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
2、给builder对象赋值设置属性
builder.setTitle("温馨提示");
builder.setMessage("你真的确定要给我转五万块钱吗");
builder.setIcon(R.mipmap.ic_launcher);
3、设置下面的提示按钮
setPositiveButton("确定"
setNegativeButton("肯定的"
setNeutralButton("十分确定"


这三个按钮分别对应dialog的下面的三个按钮。如图所示:



列表对话框

1、在这里进行列表提示框的创建
final String items[]=new String[]{"铁锤","斧子","铁锹","扳手"};
2、给builder对象赋值设置属性,与常规一样
3.设置列表显示的数据
setItems(items,


运行出来是这样的:



单选对话框

1、预先准备好单选对话框
final String items[]=new String[]{"男","女"};
2、给builder对象赋值设置属性,与常规一样
3、设置列表显示的数据
setSingleChoiceItems(items, 0,


运行出来是这样的:


多选对话框

1、在这里进行列表提示框的创建
final String items[]=new String[]{"玫瑰","水仙","百合","牡丹"};
//做一个判断,选中就是true,反之就是false
final boolean selected[]=new boolean[]{true,false,false,true};
2、给builder对象赋值设置属性,与常规一样
3、设置列表显示的数据
setMultiChoiceItems(items, selected,


运行出来是这样的:



源码在此:

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

//static int pos=0;
private Button normalButton;
private Button seniorButton;
private Button listButton;
private Button singleButton;
private Button checkButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

normalButton= (Button) findViewById(R.id.normal_dialog);
seniorButton= (Button) findViewById(R.id.senior_dialog);
listButton= (Button) findViewById(R.id.list_dialog);
singleButton= (Button) findViewById(R.id.single_dialog);
checkButton= (Button) findViewById(R.id.check_dialog);

normalButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//在这里进行普通的提示框的创建于显示
//先创建builder对象
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//给对象赋值-->设置属性
builder.setTitle("温馨提示");
//设置提示信息
builder.setMessage("你真的确定要给我转五万块钱吗");
//设置图标
builder.setIcon(R.mipmap.ic_launcher);

//设置下面的提示按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//把提示框关掉
dialogInterface.dismiss();
Toast.makeText(MainActivity.this, "点击了确定按钮,感谢支持", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("肯定的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
Toast.makeText(MainActivity.this, "点击了肯定按钮,感谢信赖", Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("十分确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
Toast.makeText(MainActivity.this, "点击了十分确定按钮,赶紧打到我账上", Toast.LENGTH_SHORT).show();
}
});

//3、显示对象
builder.show();

}
});
//优化对话框
seniorButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

}
});

//列表对话框
listButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

//在这里进行列表提示框的创建
final String items[]=new String[]{"铁锤","斧子","铁锹",
4000
"扳手"};
//1、创建builder对象
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//2.改对象设置属性
//设置标题
builder.setTitle("温馨对话");
//设置图片
builder.setIcon(R.mipmap.ic_launcher);
//设置列表显示的数据,如果设置了items,就不要再调用setMessage了
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
}
});

builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
}
});
//显示对象
builder.show();

}
});
//单选对话框
singleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//预先准备好单选对话框
final String items[]=new String[]{"男","女"};
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("小提示");
//记录选择的是哪一个
final int[] pos = {0};
builder.setIcon(R.mipmap.ic_launcher);
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//                        dialogInterface.dismiss();
pos[0] =i;
Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();

Toast.makeText(MainActivity.this, "最终确定:"+ pos[0], Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
});
//多选对话框
checkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/*
多选对话框
*/
//在这里进行列表提示框的创建
final String items[]=new String[]{"玫瑰","水仙","百合","牡丹"};
final boolean selected[]=new boolean[]{true,false,false,true};
//1、创建builder对象
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//2.改对象设置属性
//设置标题
builder.setTitle("温馨对话");
//设置图片
builder.setIcon(R.mipmap.ic_launcher);
builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
//                        dialogInterface.dismiss();

}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
dialogInterface.dismiss();
//点击选项系统会自动将结果更新到selected数组中
String resu="结果为:";
for (int i=0;i<selected.length;i++){
if (selected[i]){
resu=resu+items[i]+",";
}
}
Toast.makeText(MainActivity.this, resu, Toast.LENGTH_SHORT).show();
}
});
builder.show();
}
});

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息