Android AlterDialog的用法

来源:互联网 发布:米26重型直升机数据 编辑:程序博客网 时间:2024/04/30 02:48

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、按返回键是触发的方法

//当按返回键时显示dialogpublic 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);    //创建ListMap集合存放数据    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);        }    /*    有五个参数    1this    2、资源组名称    3、图文布局xml文件    4、资源组一一对应的mapk    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个参数,,1MainActivity.this               2、监听选择的日期并且实现吐司。               345、调入当前日期     */    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();





0 0
原创粉丝点击