学习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
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。