package com.juhabi.birds.dialog import android.app.Dialog import android.content.Context import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle import android.view.Gravity import android.view.Window import android.view.WindowManager import android.widget.TextView import com.juhabi.birds.R class LoadingDialog( context: Context, private val message: String = "加载中..." ) : Dialog(context, R.style.LoadingDialogTheme) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) requestWindowFeature(Window.FEATURE_NO_TITLE) setContentView(R.layout.dialog_loading) findViewById(R.id.loadingText).text = message window?.apply { // 参考 Water:窗口全屏、内容居中,并为页面增加轻量半透明遮罩。 setBackgroundDrawable(ColorDrawable(Color.argb(13, 0, 0, 0))) setGravity(Gravity.CENTER) setDimAmount(0.2f) addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) } } override fun show() { super.show() window?.apply { setGravity(Gravity.CENTER) setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) } } }