Android中常用的三个Dialog弹窗总结解析

Yolanda ·
更新时间:2024-11-10
· 1807 次阅读

目录

ProgressDialog

DatePickerDialog

TimePickerDialog

布局

完整代码

ProgressDialog private void showProgressDialog(){ progressDialog = new ProgressDialog(DialogDemo.this); //设置提示信息 progressDialog.setTitle("提示"); progressDialog.setIcon(R.mipmap.touxiang0); progressDialog.setMessage("正在处理中"); //是否用过返回键取消 progressDialog.setCancelable(true); //碰触弹框之外的地方取消 progressDialog.setCanceledOnTouchOutside(true); //显示 progressDialog.show(); }

DatePickerDialog //日期 private void datePickerDialog(){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){ DatePickerDialog datePickerDialog = new DatePickerDialog(DialogDemo.this); datePickerDialog.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { Toast.makeText(DialogDemo.this,year+"年"+(month+1)+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show(); } }); datePickerDialog.show(); }else { Toast.makeText(DialogDemo.this,"版本过低",Toast.LENGTH_SHORT).show(); } }

TimePickerDialog //时间 private void timePickerDialog(){ //获得日历的实列 Calendar calendar = Calendar.getInstance(); //设置当前时间 calendar.setTimeInMillis(System.currentTimeMillis()); //获取时分 int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); //第三、四个参数初始时分 第五个参数是否为24小时显示 TimePickerDialog time = new TimePickerDialog(DialogDemo.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Toast.makeText(DialogDemo.this,"Hour"+hourOfDay+"minute"+minute,Toast.LENGTH_SHORT).show(); } },hour,minute,true); time.show(); }

布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical" android:gravity="center_horizontal" > <Button android:id="@+id/btnProgress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="35dp" android:backgroundTint="#64D7E6" android:text="提示" android:textSize="35sp" /> <Button android:id="@+id/btnDatePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="35dp" android:backgroundTint="#64D7E6" android:text="日期" android:textSize="35sp" /> <Button android:id="@+id/btnTimePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="35dp" android:backgroundTint="#64D7E6" android:text="时间" android:textSize="35sp" /> </LinearLayout> 完整代码 import androidx.appcompat.app.AppCompatActivity; import android.app.DatePickerDialog; import android.app.ProgressDialog; import android.app.TimePickerDialog; import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.TimePicker; import android.widget.Toast; import java.util.Calendar; public class DialogDemo extends AppCompatActivity { Button mBtnProgress,mBtnDatePicker,mBtnTimePicker; ProgressDialog progressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dialog_demo); initView(); MyOnClick myOnClick = new MyOnClick(); mBtnProgress.setOnClickListener(myOnClick); mBtnDatePicker.setOnClickListener(myOnClick); mBtnTimePicker.setOnClickListener(myOnClick); } private void initView(){ mBtnProgress = findViewById(R.id.btnProgress); mBtnDatePicker = findViewById(R.id.btnDatePicker); mBtnTimePicker = findViewById(R.id.btnTimePicker); } class MyOnClick implements View.OnClickListener { @Override public void onClick(View v) { switch(v.getId()){ case R.id.btnProgress: showProgressDialog(); break; case R.id.btnDatePicker: datePickerDialog(); break; case R.id.btnTimePicker: timePickerDialog(); break; } } } private void showProgressDialog(){ progressDialog = new ProgressDialog(DialogDemo.this); //设置提示信息 progressDialog.setTitle("提示"); progressDialog.setIcon(R.mipmap.touxiang0); progressDialog.setMessage("正在处理中"); //是否用过返回键取消 progressDialog.setCancelable(true); //碰触弹框之外的地方取消 progressDialog.setCanceledOnTouchOutside(true); //显示 progressDialog.show(); } //日期 private void datePickerDialog(){ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){ DatePickerDialog datePickerDialog = new DatePickerDialog(DialogDemo.this); datePickerDialog.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { Toast.makeText(DialogDemo.this,year+"年"+(month+1)+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show(); } }); datePickerDialog.show(); }else { Toast.makeText(DialogDemo.this,"版本过低",Toast.LENGTH_SHORT).show(); } } //时间 private void timePickerDialog(){ //获得日历的实列 Calendar calendar = Calendar.getInstance(); //设置当前时间 calendar.setTimeInMillis(System.currentTimeMillis()); //获取时分 int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); //第三、四个参数初始时分 第五个参数是否为24小时显示 TimePickerDialog time = new TimePickerDialog(DialogDemo.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Toast.makeText(DialogDemo.this,"Hour"+hourOfDay+"minute"+minute,Toast.LENGTH_SHORT).show(); } },hour,minute,true); time.show(); } }

到此这篇关于Android中常用的三个Dialog弹窗总结解析的文章就介绍到这了,更多相关Android Dialog内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



dialog Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号