Android对话框

Android对话框

对话框:提示对话框,进度条对话框,时间对话框,日期对话框

最简单对话框

AlertDialog dialog = new AlertDialog.Builder(this)
                .setIcon(R.mipmap.ic_launcher)//设置标题的图片
                .setTitle("我是对话框")//设置对话框的标题
                .setMessage("我是对话框的内容")//设置对话框的内容
                //设置对话框的按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(Main3Activity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(Main3Activity.this, "点击了确定的按钮", Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                }).create();
        dialog.show();

时间对话框

data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //时间对话框
                TimePickerDialog time=new TimePickerDialog(AlertDialogActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

                    }
                }, h, mm,true);
                time.show();
            }
        });

日期对话框

data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //日期对话框
                DatePickerDialog datePickerDialog=new DatePickerDialog(AlertDialogActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                    }
                }, year, month-1, date);
                datePickerDialog.show();

            }
        });

自定义对话框

alert_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View view = LayoutInflater.from(AlertDialogActivity.this).inflate(R.layout.alert_item, null);
                et_name = (EditText) view.findViewById(R.id.alertitem_name);
                et_pwd = (EditText) view.findViewById(R.id.alertitem_pwd);

                AlertDialog.Builder bu = new AlertDialog.Builder(AlertDialogActivity.this);
                bu.setIcon(R.mipmap.ic_launcher);
                bu.setTitle("登录");
                bu.setView(view);
                bu.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(AlertDialogActivity.this, et_name.getText().toString() + et_pwd.getText().toString(), Toast.LENGTH_SHORT).show();
                    }
                });
                bu.setNegativeButton("no", null);
                bu.show();
            }
        });

系统对话框

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            AlertDialog.Builder builder=new AlertDialog.Builder(this);
            builder.setTitle("对话框");
            builder.setMessage("你确定离开吗?");
            builder.setIcon(R.mipmap.ic_launcher);
            builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });
        }
        return super.onKeyDown(keyCode, event);
    }

进度条对话框

水平样式

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

圆形样式

progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

progressDialog.setCancelable(true); // 能够返回
progressDialog.setCanceledOnTouchOutside(true); // 点击外部返回

progressDialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pd=new ProgressDialog(AlertDialogActivity.this);
                pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                pd.setMax(200);
                pd.setTitle("login");
                pd.setMessage("Do you know?");
                pd.setIcon(R.mipmap.ic_launcher);
                pd.setIndeterminate(false);
                pd.setCancelable(true);// 点击外部返回
                pd.setButton(pd.BUTTON_POSITIVE, "yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    }
                });
                pd.show();

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        for (int i=0;i<=100;i++){
                            pd.setProgress(i);
                            try {
                                Thread.sleep(100);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }

                    }
                }).start();

            }
        });
    }

总代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_alert_dialog"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mystudy.AlertDialogActivity">
<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/alert_btn"
    android:textSize="20sp"
    android:text="单击"/>
    <Button
        android:layout_below="@+id/alert_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/alert1_btn"
        android:textSize="20sp"
        android:text="progressDialog"/>
    <Button
        android:layout_below="@+id/alert1_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/alert2_btn"
        android:textSize="20sp"
        android:text="data"/>
</RelativeLayout>
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;

import java.util.Calendar;

public class AlertDialogActivity extends AppCompatActivity {
    private Button alert_btn,progressDialog,data;
    private EditText et_name, et_pwd;
    private ProgressDialog pd;
private int year,month,date,h,mm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alert_dialog);
        alert_btn = (Button) findViewById(R.id.alert_btn);
        progressDialog= (Button) findViewById(R.id.alert1_btn);
        data= (Button) findViewById(R.id.alert2_btn);

        Calendar calendar=Calendar.getInstance();
        year=calendar.get(Calendar.YEAR);
        month=calendar.get(Calendar.MONTH);
        date=calendar.get(Calendar.DATE);
        h=calendar.get(Calendar.HOUR);
        mm=calendar.get(Calendar.MINUTE);
        data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //日期对话框
                DatePickerDialog datePickerDialog=new DatePickerDialog(AlertDialogActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                    }
                }, year, month-1, date);
                datePickerDialog.show();
                //时间对话框
                /*TimePickerDialog time=new TimePickerDialog(AlertDialogActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

                    }
                }, h, mm,true);
                time.show();*/
            }
        });


        //自定义对话框
        alert_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View view = LayoutInflater.from(AlertDialogActivity.this).inflate(R.layout.alert_item, null);
                et_name = (EditText) view.findViewById(R.id.alertitem_name);
                et_pwd = (EditText) view.findViewById(R.id.alertitem_pwd);

                AlertDialog.Builder bu = new AlertDialog.Builder(AlertDialogActivity.this);
                bu.setIcon(R.mipmap.ic_launcher);
                bu.setTitle("登录");
                bu.setView(view);
                bu.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(AlertDialogActivity.this, et_name.getText().toString() + et_pwd.getText().toString(), Toast.LENGTH_SHORT).show();
                    }
                });
                bu.setNegativeButton("no", null);
                bu.show();
            }
        });
        //进度条对话框
        progressDialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pd=new ProgressDialog(AlertDialogActivity.this);
                pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                pd.setMax(200);
                pd.setTitle("login");
                pd.setMessage("Do you know?");
                pd.setIcon(R.mipmap.ic_launcher);
                pd.setIndeterminate(false);
                pd.setCancelable(true);// 点击外部返回
                pd.setButton(pd.BUTTON_POSITIVE, "yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    }
                });
                pd.show();

                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        for (int i=0;i<=100;i++){
                            pd.setProgress(i);
                            try {
                                Thread.sleep(100);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        }

                    }
                }).start();

            }
        });
    }
//系统对话框
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            AlertDialog.Builder builder=new AlertDialog.Builder(this);
            builder.setTitle("对话框");
            builder.setMessage("你确定离开吗?");
            builder.setIcon(R.mipmap.ic_launcher);
            builder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            builder.setNegativeButton("no", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });
        }
        return super.onKeyDown(keyCode, event);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值