1、Dialog的创建
private void intDialog() { //创建Dialog对象 AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); //创建Dialog的标题 builder.setTitle("退出界面"); //创建标题图标 builder.setIcon(R.id.icon); //设置退出内容文本 builder.setMessage("您确定退出界面吗?"); //添加Dialog的按钮,参数为1、按键内容,2、按键的监听,如没有操作就写null builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this,"已经退出",Toast.LENGTH_LONG).show(); } }); //启动buider dialog=builder.create(); showDialog(); } public void showDialog(){ //如果dialog不为空,而不是正在运行,就启动。注意要创建个全局dialog方便跨方法使用 if(dialog!=null&&!dialog.isShowing()){ dialog.show(); } }2、按返回键是触发的方法
//当按返回键时显示dialog public void onBackPressed() { intDialog(); }
3、普通列表的Dialog
A、先绑定接口,方便操作 B、创建列表名称列表
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
btn02.setOnClickListener(this);
<string-array name="color_name"> <item>红色</item> <item>绿色</item> <item>蓝色</item> </string-array>
c、创建普通列表Dialog对象
public void showCommonListDialog(){ //创建Dialog对象 AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); //创建Dialog的标题 builder.setTitle("退出界面"); //创建标题图标 builder.setIcon(R.id.icon); //填充Dialog。。一、列表的id,二、创建监听对象 builder.setItems(R.array.color_name, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which){ case 0: tvshow.setTextColor(Color.RED);break; case 1: tvshow.setTextColor(Color.GREEN);break; case 2: tvshow.setTextColor(Color.BLUE);break; } } }); builder.create(); builder.show(); }4、图文列表的的用法——先创建对应的文本列表
<string-array name="set_name"> <item>Wifi设置</item> <item>蓝牙</item> <item>红外线</item> <item>未知名</item> </string-array> <string-array name="set_image"> <item>image01</item> <item>image02</item> <item>image03</item> <item>image04</item> </string-array>5、图文列表的的用法——创建图文列表方法
public void showImageDialog(){ //创建Dialog对象 AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); //创建Dialog的标题 builder.setTitle("退出界面"); //创建标题图标 builder.setIcon(R.id.icon); //获得文本资源 String[] set_name=getResources().getStringArray(R.array.set_name); //获得图片资源 String[] set_image=getResources().getStringArray(R.array.set_image); //创建List和Map集合存放数据 List<Map<String,Object>> date=new ArrayList<Map<String,Object>>(); //遍历数组存放资源进去 for(int i=0;i<set_name.length;i++){ //注意map放在循环里面里面 Map<String,Object> map=new HashMap<String, Object>(); map.put("setname",set_name[i]); //有三个参数,1、这图片的名称 2、文件名,3、包名 int imageId=getResources().getIdentifier(set_image[i],"drawable",getPackageName()); map.put("setimage",imageId); date.add(map); } /* 有五个参数 1、this 2、资源组名称 3、图文布局xml文件 4、资源组一一对应的map的k名 5、列表布局文件的里面的id名 */ SimpleAdapter adapter=new SimpleAdapter(this,date,R.layout.layout, new String[]{"setname","setimage"}, new int[]{R.id.tv01,R.id.image01}); builder.setAdapter(adapter, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { switch (which){ case 0: Toast.makeText(MainActivity.this, "已经打开Wifi", Toast.LENGTH_SHORT).show(); case 1: Toast.makeText(MainActivity.this, "已经打开蓝牙", Toast.LENGTH_SHORT).show(); case 2: Toast.makeText(MainActivity.this, "已经打开红外线", Toast.LENGTH_SHORT).show(); case 3: Toast.makeText(MainActivity.this, "未知打开", Toast.LENGTH_SHORT).show(); } } }); builder.create().show();6、单选Dialog的用法
public void showsigleDialog(){ //创建Dialog对象 AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); //创建Dialog的标题 builder.setTitle("选择字体"); //创建标题图标 builder.setIcon(R.id.icon); final String[] fortnum=getResources().getStringArray(R.array.fortnum); //创建单选对象
builder.setSingleChoiceItems(R.array.fortsize, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which){ case 0:tvshow.setTextSize(Float.parseFloat(fortnum[which]));break; case 1:tvshow.setTextSize(Float.parseFloat(fortnum[which]));break; case 2:tvshow.setTextSize(Float.parseFloat(fortnum[which]));break; } dialog.dismiss(); } }); dialog=builder.create(); dialog.show(); }7,日期dilog的用法
public void showDateAlter(){ //获取当前时间 Calendar calendar=Calendar.getInstance(); year=calendar.get(calendar.YEAR); monthOfYear=calendar.get(calendar.MONTH); dayOfMonth=calendar.get(calendar.DAY_OF_MONTH); /*调用DatePickerDialog对象 有5个参数,,1、MainActivity.this 2、监听选择的日期并且实现吐司。 3、4、5、调入当前日期 */ DatePickerDialog dialog=new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { //setTitle(year+"年"+monthOfYear+"月"+dayOfMonth+"日"); text=year+"年"+monthOfYear+"月"+dayOfMonth+"日"; Toast.makeText(MainActivity.this,"你选择的日期是:"+text,Toast.LENGTH_LONG).show(); } },year,monthOfYear,dayOfMonth); dialog.show();