package com.kanxue.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.Calendar;
public class DialogActivity extends AppCompatActivity {
@Override
protected voidonCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);setContentView(R.layout.activity_dialog);}//显示一般AlertDialog
public voidshowAD(View view){
new AlertDialog.Builder(this).setTitle("删除数据").setMessage("您确定删除数据吗").setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialog,int which){
Toast.makeText(DialogActivity.this,"删除数据",Toast.LENGTH_LONG).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialog,int which){
Toast.makeText(DialogActivity.this,"取消删除数据",Toast.LENGTH_LONG).show();}}).show();}//显示单选列表的AlertDialog
public voidshowLD(View view){
final String[] items={"红","蓝","绿","灰"};
new AlertDialog.Builder(this).setTitle("指定背景颜色").setSingleChoiceItems(items,6, new DialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialog,int which){//which 就是被选中的索引
Toast.makeText(DialogActivity.this,items[which],Toast.LENGTH_LONG).show();
dialog.dismiss();}}).show();}//显示自定义的AlertDialog
public voidshowCD(View view){//动态加载的布局对象,得到对应的view对象
View view1=View.inflate(this,R.layout.dialog_view,null);
final EditText edt_name=view1.findViewById(R.id.et_dialog_name);
final EditText edt_pwd=view1.findViewById(R.id.et_dialog_pwd);
new AlertDialog.Builder(this).setView(view1).setNegativeButton("取消",null).setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public voidonClick(DialogInterface dialog,int which){
String name=edt_name.getText().toString();
String pwd=edt_pwd.getText().toString();
Toast.makeText(DialogActivity.this,name+"----"+pwd,Toast.LENGTH_LONG).show();}}).show();}//显示圆形进度ProcessDialog
public voidshowPD(View view){
final ProgressDialog dialog=ProgressDialog.show(this,"数据加载","数据加载中…………");//模拟长时间操作//必须要在分线程中完成长时间操作
new Thread(){
@Override
public voidrun(){
super.run();for(int i =0; i <20; i++){
try {
Thread.sleep(100);}catch(InterruptedException e){
e.printStackTrace();}}//移出对话框
dialog.dismiss();//不能在分线程中更新主线程东西runOnUiThread(new Runnable(){
@Override
public voidrun(){
Toast.makeText(DialogActivity.this,"加载完成",Toast.LENGTH_LONG).show();}});}}.start();}//显示水平进度ProcessDialog
public voidshowPD2(View view){//1.创建一个进度条dialog
final ProgressDialog pd= new ProgressDialog(this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.show();
new Thread(new Runnable(){
@Override
public voidrun(){int count=100;//设置最大进度
pd.setMax(count);for(int i =0; i < count; i++){
try {
Thread.sleep(100);}catch(InterruptedException e){
e.printStackTrace();}
pd.setProgress(pd.getProgress()+1);}
pd.dismiss();}}).start();}
public voidshowDateAD(View view){//1.创建日历对象
Calendar calendar=Calendar.getInstance();//2.获取年月int year=calendar.get(Calendar.YEAR);int month=calendar.get(Calendar.MONTH);int day=calendar.get(Calendar.DAY_OF_MONTH);//创建日期对话框
new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener(){
@Override
public voidonDateSet(DatePicker view,int year,int month,int dayOfMonth){
Log.e("TAG",year+"--"+(month+1)+"--"+dayOfMonth);}},year,month,day).show();}
public voidshowTimeAD(View view){//1.创建日历对象
Calendar calendar=Calendar.getInstance();int hour=calendar.get(Calendar.HOUR);int minute=calendar.get(Calendar.MINUTE);
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener(){
@Override
public voidonTimeSet(TimePicker view,int hourOfDay,int minute){
Log.e("TAG",hourOfDay+"--"+minute);}},hour,minute,true).show();}}