对话框

来源:互联网 发布:java基本语法 编辑:程序博客网 时间:2024/06/05 07:27
package com.example.administrator.myandriodialog;import android.app.DatePickerDialog;import android.app.ProgressDialog;import android.app.TimePickerDialog;import android.content.DialogInterface;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.DatePicker;import android.widget.TimePicker;import android.widget.Toast;import com.example.pulltorefreshlistview.R;import java.util.Calendar;public class MainActivity extends AppCompatActivity {    private Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            p.setProgress(msg.what);            if(msg.what==100){                p.dismiss();            }        }    };    private ProgressDialog p;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        p = new ProgressDialog(this);        p.setTitle("进度条");        p.setMessage("正在下载中:");        p.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);    }    public void on(View view) {        switch (view.getId()){            case R.id.zdy:                zdy();                break;            case R.id.time:                showTimerPickerDialog();                break;            case R.id.date:                showDatePickerDialog();                break;            case R.id.Items:                showItems();                break;            case R.id.SingleDialog:                showSingleDialog();                break;            case R.id.checketbox:                showchecketbox();                break;            case R.id.myself:                showmyself();                break;            case R.id.progress1:                showprogress1();                break;            case R.id.progress2:                showprogress2();                break;        }    }    private void showprogress2() {    }    private void showprogress1() {        p.show();        new Thread(){            @Override            public void run() {                super.run();                for (int i = 0; i<=100; i+=5) {                    try {                        Thread.sleep(500);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    handler.sendEmptyMessage(i);                }            }        }.start();    }    private void showmyself() {    }    private void showchecketbox() {        final String[] name = {"Android","Studio","Java","CSP"};        final boolean[] bArray = new boolean[name.length];        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("多选列表对话框");        builder.setMultiChoiceItems(name, bArray, new DialogInterface.OnMultiChoiceClickListener() {            @Override            public void onClick(DialogInterface dialog, int which, boolean isChecked) {                bArray[which]=isChecked;            }        });        builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                StringBuilder sb = new StringBuilder();                for (int i = 0; i < name.length; i++) {                    if(bArray[i]){                        sb.append(name[i]+": ");                    }                }                Toast.makeText(MainActivity.this,sb.toString(),Toast.LENGTH_SHORT).show();            }        });        builder.show();    }    private void showSingleDialog() {        final String[] name = {"Android","Studio","Java","CSP"};        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("单选列表对话框");        builder.setSingleChoiceItems(name, 0, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this,name[which],Toast.LENGTH_SHORT).show();            }        });        builder.create().show();    }    private void showItems() {        final String[] name = {"Android","Studio","Java","CSP"};        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("列表对话框");        builder.setIcon(R.mipmap.ic_launcher);        builder.setItems(name, new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this,name[which],Toast.LENGTH_SHORT).show();            }        });        builder.create().show();    }    private void zdy(){        AlertDialog.Builder builder = new AlertDialog.Builder(this);        builder.setTitle("警示对话框");        builder.setIcon(R.mipmap.ic_launcher);        builder.setMessage("今天还行能凑合");        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this,"您取消了任务",Toast.LENGTH_SHORT).show();            }        });        builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                Toast.makeText(MainActivity.this,"您点击了确定",Toast.LENGTH_SHORT).show();            }        });        AlertDialog dialog = builder.create();        dialog.show();    }    private void showDatePickerDialog(){        Calendar calendar = Calendar.getInstance();        DatePickerDialog dateDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {            @Override            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {                Toast.makeText(MainActivity.this,year+"年"+(month+1)+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show();            }        },calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH));        dateDialog.show();    }    private void showTimerPickerDialog(){        Calendar calendar =Calendar.getInstance();        TimePickerDialog timeDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {            @Override            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                Toast.makeText(MainActivity.this,hourOfDay+":"+minute,Toast.LENGTH_SHORT).show();            }        },calendar.get(Calendar.HOUR),calendar.get(Calendar.MINUTE),true);        timeDialog.show();    }}