private void course_showDialog_1() { final androidx.appcompat.app.AlertDialog dialog = new androidx.appcompat.app.AlertDialog.Builder(this).create(); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.show(); ColorDrawable drawable = new ColorDrawable(Color.TRANSPARENT); Window window = dialog.getWindow(); //背景全透明 window.setBackgroundDrawable(drawable); window.setDimAmount(1.5f); //弹出时状态栏颜色不改变 window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); window.setGravity(Gravity.CENTER); window.setContentView(R.layout.course); WindowManager.LayoutParams lp = window.getAttributes(); lp.width = WindowManager.LayoutParams.FILL_PARENT; lp.height = WindowManager.LayoutParams.FILL_PARENT; window.setAttributes(lp); textViewTime = window.findViewById(R.id.textViewTime24); mOffHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what > 0) { // 动态显示倒计时 textViewTime.setText("(" + msg.what + ")"); } else { // 倒计时结束自动关闭 if (dialog != null) { dialog.dismiss(); } mOffTime.cancel(); } super.handleMessage(msg); } }; mOffTime = new Timer(true); TimerTask tt = new TimerTask() { public void run() { if (countTime > 0) { countTime--; } Message msg = new Message(); msg.what = countTime; mOffHandler.sendMessage(msg); } }; mOffTime.schedule(tt, 1000, 1000); }
时间: 2024-02-10 12:17:46 浏览: 180
VB.code.file.dialog.module.design.rar_VB 对话框_dialog
这是一个 Android Studio 的代码段,它定义了一个名为 `course_showDialog_1()` 的方法。该方法创建了一个对话框,其中包括一个倒计时器和一个布局,该布局是通过 `R.layout.course` 引用的。对话框的背景是全透明的,而且它在屏幕中央显示。在 `mOffHandler` 和 `mOffTime` 中,定义了一个消息处理程序和一个计时器任务,用于更新倒计时器的文本。当倒计时结束时,对话框将自动关闭。
阅读全文