Dialog 各种风格使用


import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.Toast;

import java.util.Calendar;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.button)
    Button button;
    @BindView(R.id.button2)
    Button button2;
    @BindView(R.id.button3)
    Button button3;
    @BindView(R.id.button4)
    Button button4;
    @BindView(R.id.button5)
    Button button5;
    @BindView(R.id.button6)
    Button button6;
    @BindView(R.id.button7)
    Button button7;
    @BindView(R.id.button8)
    Button button8;
    @BindView(R.id.activity_main)
    RelativeLayout activityMain;

    Context context;
    private int year;
    private int month;
    private int day;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        context = this;
    }

    @RequiresApi(api = Build.VERSION_CODES.N)
    @OnClick({R.id.button, R.id.button2, R.id.button3, R.id.button4, R.id.button5, R.id.button6, R.id.button7, R.id.button8})
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button:
                Dialog dialog = new Dialog(this);
                dialog.setTitle("Dialog");
                dialog.setCanceledOnTouchOutside(true);
                dialog.show();

                break;
            case R.id.button2:
                Dialog dialog1 = new AlertDialog.Builder(context).setTitle("AlertBuilder").
                        setMessage("测试测试测试车市速度发顺丰").setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "取消了", Toast.LENGTH_SHORT).show();
                    }
                }).setNeutralButton("中间", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "中间取消了", Toast.LENGTH_SHORT).show();
                    }
                }).setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "确定", Toast.LENGTH_SHORT).show();
                    }
                }).create();
                dialog1.show();
                break;
            case R.id.button3:
                Dialog dialog2 = new android.support.v7.app.AlertDialog.Builder(context).setTitle("AlertBuilder").
                        setMessage("测试测试测试车市速度发车市速度发顺丰").setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "取消了", Toast.LENGTH_SHORT).show();
                    }
                }).setNeutralButton("中间", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "中间取消了", Toast.LENGTH_SHORT).show();
                    }
                }).setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "确定", Toast.LENGTH_SHORT).show();
                    }
                }).setIcon(R.mipmap.ic_launcher).create();
                dialog2.show();
                break;
            case R.id.button4:
                Dialog dialog3 = new android.support.v7.app.AlertDialog.Builder(context).setTitle("输入框").
                        setView(new EditText(context)).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "取消了", Toast.LENGTH_SHORT).show();
                    }
                }).setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "确定", Toast.LENGTH_SHORT).show();
                    }
                }).setIcon(R.mipmap.ic_launcher).create();
                dialog3.show();
                break;
            case R.id.button5:
                final String[] str = new String[]{"item1", "item2"};
                Dialog dialog4 = new android.support.v7.app.AlertDialog.Builder(context).setTitle("单选框").
                        setMultiChoiceItems(str, null, new DialogInterface.OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                                StringBuffer sb = new StringBuffer();
                                if (isChecked) {
                                    sb.append(str[which].toString() + ",");
                                }
                                Toast.makeText(context, sb.toString(), Toast.LENGTH_SHORT).show();
                            }
                        }).
                        setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(context, "取消了", Toast.LENGTH_SHORT).show();
                            }
                        }).setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(context, "确定", Toast.LENGTH_SHORT).show();
                    }
                }).setIcon(R.mipmap.ic_launcher).create();
                dialog4.show();
                break;
            case R.id.button6:
                final ProgressDialog dialog5 = new ProgressDialog(context);
                dialog5.setMessage("下载最新apk");
                dialog5.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                dialog5.setMax(100);
                dialog5.show();
                new Thread(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        int i = 0;
                        while (i < 100) {
                            try {
                                Thread.sleep(200);
                                // 更新进度条的进度,可以在子线程中更新进度条进度
                                dialog5.incrementProgressBy(1);
                                // dialog.incrementSecondaryProgressBy(10)//二级进度条更新方式
                                i++;

                            } catch (Exception e) {
                                // TODO: handle exception
                            }
                        }
                        // 在进度条走完时删除Dialog
                        dialog5.dismiss();

                    }
                }).start();
                break;
            case R.id.button7:
                //初始化Calendar日历对象
                Calendar mycalendar = Calendar.getInstance();

                //获取Calendar对象中的年
                year = mycalendar.get(Calendar.YEAR);
                //获取Calendar对象中的月
                month = mycalendar.get(Calendar.MONTH);
                //获取这个月的第几天
                day = mycalendar.get(Calendar.DAY_OF_MONTH);
                Toast.makeText(context, "当前日期:" + year + "-" + (month + 1) + "-" + day, Toast.LENGTH_SHORT).show();
                DatePickerDialog dialog6 = new DatePickerDialog(context, Datelistener, year, month, day);
                dialog6.show();//显示DatePickerDialog组件
                break;
            case R.id.button8:
                break;
        }
    }

    private DatePickerDialog.OnDateSetListener Datelistener = new DatePickerDialog.OnDateSetListener() {
        /**params:view:该事件关联的组件
         * params:myyear:当前选择的年
         * params:monthOfYear:当前选择的月
         * params:dayOfMonth:当前选择的日
         */
        @Override
        public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {


            //修改year、month、day的变量值,以便以后单击按钮时,DatePickerDialog上显示上一次修改后的值
            year = myyear;
            month = monthOfYear;
            day = dayOfMonth;
            //更新日期
            updateDate();

        }

        //当DatePickerDialog关闭时,更新日期显示
        private void updateDate() {
            //在TextView上显示日期
            Toast.makeText(context, "当前日期:" + year + "-" + (month + 1) + "-" + day, Toast.LENGTH_SHORT).show();
        }
    };

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值