Android--AlertDialog

AlertDialog:
    show():显示对话框
    没有公开的构造方法,只能通过其内部类Builder来创建
AlterDialog.Builder:
    create():创建AlertDialog对象
    show():创建AlertDialog对象,同时将其显示出来
    setTitle(CharSequence title):设置标题
    setMassage(CharSequence massage):设置内容
    setPositiveButton(String text,OnClickListener listener):设置正面按钮;返回的位置-1
    setNegativeButton(String text,OnClickListener listener):设置方面按钮;返回的位置-2
    setNegativeButton(String text,OnClickListener listener):设置中间按钮;返回的位置-3
    dismiss():移除dialog
    setSingleChoiceItems(...):设置但选项列表

自定义:
    DialogBuilder:
        setView(View view):设置Dialog中的视图
    View:
        View Inflate(Context context,int resourse,ViewGroup root):动态加载布局得到View

//日历
ProgressDialog:
    static show(Context context,CharSquence title,CharSequence mseeage):显示Dialog
    new ProgressDialog(Context context):构造方法
    setProgressStyle(int style):设置样式
    ProgressDialog.STYLE_HORIZONTAL:水平进度条样式
        DateDialog:日期Dialog
public DatePickerDialog(Context context,创建日历对象
    OnDateSetListener callBack,//点击确定的回调方法
    int year,//显示年份
    int monthOfYear,//显示月份
    int dayOfMonth)//显示日

Calendar calendar=Calendar.getInstance()
    //得到年月日
    int year=calendar.get(Calendar.YEAR);
    int monthOfYear=calendar.get(Calendar.MONTH);
    itn dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);


//时间
public TimePickerDialog(Context context,:创建时间对象
    OnTimeSetListener callBack,//点击确定的回调方法
    int hourOfDay,//几点
    int minute,//j几分
    boolean is24HourView)//是否是24小时制

Calendar calendar=Calendar.getInstance()
int hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);

一般dialog:

 public void standardAlert(View view){

        new AlertDialog.Builder(this)
                .setTitle("标题栏")
                .setMessage("内容")
                .setPositiveButton("确认", listener)
                .setNegativeButton("取消", listener)
                .setNeutralButton("返回-3", listener)
                .show();


        listener = new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                switch (which) {
                    case -1:
                        Toast.makeText(MainActivity.this,"-1",Toast.LENGTH_SHORT).show();
                        break;
                    case -2:
                        Toast.makeText(MainActivity.this,"-2",Toast.LENGTH_SHORT).show();
                    case -3:
                        Toast.makeText(MainActivity.this,"-3",Toast.LENGTH_SHORT).show();
                        break;

                }
            }
        };
    }

显示列表菜单:

public void showLD(View view){

        final String[] str={"1","2","3"};//final的变量在方法执行后还存在。个人理解是传数据用的
        new AlertDialog.Builder(this)
                .setTitle("标题栏")
                .setSingleChoiceItems(str, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //提示位置
                        Toast.makeText(MainActivity.this,""+which,Toast.LENGTH_SHORT).show();
                        //移除dialog
                        dialog.dismiss();
                    }
                })
                .show();
    }

自定义Dialog:

public void showCD(View view){
        View inflate = View.inflate(this, R.layout.cd_alterdialog, null);
        final EditText username=(EditText) inflate.findViewById(R.id.username);
        final EditText password=(EditText) inflate.findViewById(R.id.password);
        new AlertDialog.Builder(this)
                .setView(inflate)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String name=username.getText().toString();
                        String pass=password.getText().toString();
                        System.out.println(name);
                        Toast.makeText(MainActivity.this,name+"---"+pass ,Toast.LENGTH_SHORT).show();
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"null",Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                })
                .show();
    }

圆形进度条dialog:

   public void showPD(View view){
        final ProgressDialog pd = ProgressDialog.show(this, "标题", "数据加载中.....");
        pd.show();

        //模拟做一个长时间工作
        new Thread(){
            @Override
            public void run() {
                for(int i=0;i<20;i++){
                    try {
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                pd.dismiss();
                //不能再分线程跟新ui,Toast也要再ui线程执行
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(MainActivity.this,"加载失败",Toast.LENGTH_SHORT).show();
                    }
                });
            }
        }.start();

    }

显示直线进度条:

    public void dialogLD(View view){
        final ProgressDialog pd= new ProgressDialog(this);
        pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        pd.show();

        new Thread(new Runnable() {
            @Override
            public void run() {
                int count=20;
                pd.setMax(count);
                for(int i=0;i<20;i++ ){
                    try {
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    pd.setProgress(pd.getProgress()+1);
                }
                pd.dismiss();
            }
        }).start();
    }

创建日历对象:

public void dateDialog(View view){
        Calendar calendar=Calendar.getInstance();
        int year=calendar.get(Calendar.YEAR);
        int monthOfYear=calendar.get(Calendar.MONTH);
        int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);
        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

            }
        },year,monthOfYear,dayOfMonth).show();
    }

创建时间对象:

 public void showTimeAD(View view){

        Calendar calendar=Calendar.getInstance();
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        int minute=calendar.get(Calendar.MINUTE);

        new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

            }
        },hour,minute,true).show();
    }
发布了117 篇原创文章 · 获赞 1 · 访问量 7067

猜你喜欢

转载自blog.csdn.net/qq_43616001/article/details/104304301
今日推荐