学习Android的第二十一天

03-07 1083阅读

目录

学习Android的第二十一天
(图片来源网络,侵删)

Android ProgressDialog (进度条对话框)

例子

Android DatePickerDialog 日期选择对话框

例子

Android TimePickerDialog 时间选择对话框

Android PopupWindow 悬浮框

构造函数

方法

例子

官方文档

Android OptionMenu 选项菜单

例子

官方文档


Android ProgressDialog (进度条对话框)

Android ProgressDialog 已经在 API 26+ 中被废弃,ProgressDialog 不能直接从 XML 里创建。

例子


    
    
    

package com.example.myapplication;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    private ProgressDialog progressDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnShowNormal = findViewById(R.id.btn_show_normal_progress_dialog);
        Button btnShowIndeterminate = findViewById(R.id.btn_show_indeterminate_progress_dialog);
        Button btnShowDeterminate = findViewById(R.id.btn_show_determinate_progress_dialog);
        btnShowNormal.setOnClickListener(v -> {
            showProgressDialog(ProgressDialog.STYLE_SPINNER); // 普通ProgressDialog
        });
        btnShowIndeterminate.setOnClickListener(v -> {
            showProgressDialog(ProgressDialog.STYLE_HORIZONTAL); // 不确定结束的ProgressDialog
        });
        btnShowDeterminate.setOnClickListener(v -> {
            showDeterminateProgressDialog(); // 确定结束的ProgressDialog
        });
    }
    private void showProgressDialog(int style) {
        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle("软件更新中");
        progressDialog.setMessage("软件正在更新中,请稍后...");
        progressDialog.setProgressStyle(style);
        progressDialog.setCancelable(false); // 防止用户取消
        progressDialog.show();
        // 模拟操作
        new Handler().postDelayed(() -> {
            progressDialog.dismiss();
        }, 3000); // 模拟3秒后关闭对话框
    }
    private void showDeterminateProgressDialog() {
        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle("软件更新中");
        progressDialog.setMessage("软件正在更新中,请稍后...");
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        progressDialog.setMax(100); // 设置最大值
        progressDialog.setCancelable(false);
        progressDialog.show();
        // 模拟下载进度更新
        new Thread(() -> {
            int progress = 0;
            while (progress 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]