Android ProgressDialog弹框的两种用法?
程序员文章站
2022-06-15 08:42:08
一、效果: 二、(进度条风格,风格为圆形,旋转的)和(进度条风格,风格为长形)1.XML文件
一、效果:
二、(进度条风格,风格为圆形,旋转的)和(进度条风格,风格为长形)
1.XML文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="圆形进度条" /> <Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="长形进度条" /> </LinearLayout>
2.在Activity中使用
package com.ruidde.pictureselectordemo; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private Context mContext; private Button Button1 = null; private Button Button2 = null; private int count = 0; //声明进度条对话框 private ProgressDialog progressDialog = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; initData(); } private void initData() { Button1 = findViewById(R.id.Button01); Button2 = findViewById(R.id.Button02); Button1.setOnClickListener(new Button1Listener()); Button2.setOnClickListener(new Button2Listener()); } private class Button1Listener implements View.OnClickListener { public void onClick(View v) { //创建ProgressDialog对象 progressDialog = new ProgressDialog(MainActivity.this); // 设置进度条风格,风格为圆形,旋转的 progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 设置ProgressDialog 标题 progressDialog.setTitle("提示"); // 设置ProgressDialog 提示信息 progressDialog.setMessage("这是一个圆形进度条对话框"); // 设置ProgressDialog 标题图标 progressDialog.setIcon(R.mipmap.ic_launcher); // 设置ProgressDialog 的进度条是否不明确 progressDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消 progressDialog.setCancelable(true); //设置ProgressDialog 的一个Button progressDialog.setButton("确定", new SureButtonListener()); // 让ProgressDialog显示 progressDialog.show(); } } //Dialog中确定按钮的监听器 private class SureButtonListener implements android.content.DialogInterface.OnClickListener { public void onClick(DialogInterface dialog, int which) { //点击“确定按钮”取消对话框 Toast.makeText(mContext ,"确定按钮" ,Toast.LENGTH_SHORT).show(); dialog.cancel(); } } private class Button2Listener implements View.OnClickListener { public void onClick(View v) { count = 0; // 创建ProgressDialog对象 progressDialog = new ProgressDialog(MainActivity.this); // 设置进度条风格,风格为长形 progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog 标题 progressDialog.setTitle("提示"); // 设置ProgressDialog 提示信息 progressDialog.setMessage("这是一个长形对话框进度条"); // 设置ProgressDialog 标题图标 progressDialog.setIcon(R.mipmap.ic_launcher); // 设置ProgressDialog 进度条进度 progressDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确 progressDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消 progressDialog.setCancelable(true); // 让ProgressDialog显示 progressDialog.show(); new Thread() { public void run() { try { while (count <= 100) { // 由线程来控制进度。 progressDialog.setProgress(count); count = count + 2; Thread.sleep(100); } progressDialog.cancel(); } catch (InterruptedException e) { progressDialog.cancel(); } } }.start(); } } }
本文地址:https://blog.csdn.net/yyxhzdm/article/details/108724405
下一篇: UNIAPP Android版离线打包
推荐阅读
-
Android搜索框(SearchView)的功能和用法详解
-
Android搜索框(SearchView)的功能和用法详解
-
Android中 TeaScreenPopupWindow多类型筛选弹框功能的实例代码
-
vue.js中toast用法及使用toast弹框的实例代码
-
Android 实现抖音头像底部弹框效果的实例代码
-
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
-
Android中AlertDialog四种对话框的最科学编写用法(实例代码)
-
Android中 TeaScreenPopupWindow多类型筛选弹框功能的实例代码
-
Android开发之ProgressDialog进度对话框用法示例
-
Android启动页用户相关政策弹框的实现代码