42 lines
1.4 KiB
Kotlin
42 lines
1.4 KiB
Kotlin
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<TextView>(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)
|
||
}
|
||
}
|
||
}
|