Android的进度加载框ProgressDialog如何使用。用到了延时方法。

1.先看效果图。是不是你们想要的
在这里插入图片描述
2.主活动类MainActivity2代码如下

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.example.myapplication001.R;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity2 extends AppCompatActivity {
    
    

    TextView tv_1;
    ProgressDialog progressDialog;
    @SuppressLint({
    
    "MissingInflatedId", "WrongViewCast"})
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        tv_1 = (TextView) findViewById(R.id.tv_1);
        tv_1.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View view) {
    
    
                showDialog("我在测试加载中");

                //这里让他延时5秒然后关闭进度加载框
                Timer timer=new Timer();//实例化Timer类
                timer.schedule(new TimerTask(){
    
    
                    public void run(){
    
    
                        canDialog();
                        this.cancel();}},5000);//延时五秒
            }
        });

    }


    /**
     * 加载进度弹窗
     *
     * @param title 弹窗标题
     */
    public void showDialog(String title) {
    
    
        runOnUiThread(() -> {
    
    
            try {
    
    
                if (progressDialog == null) {
    
    
                    progressDialog = new ProgressDialog(this);
                }
                if (progressDialog.isShowing()) {
    
    
                    return;
                }
                progressDialog.setTitle(title);
                progressDialog.setMessage("Loading...");
                progressDialog.setCanceledOnTouchOutside(false);
                progressDialog.show();
            } catch (Exception e) {
    
    
                e.printStackTrace();
            }
        });
    }

    //关闭进度圈圈
    public void canDialog() {
    
    
        if (progressDialog != null) {
    
    
            runOnUiThread(() ->
                    progressDialog.cancel()
            );
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36570506/article/details/130180370