프로그래밍/Kotlin
[Android] XMl파일을 만들지 않고 Dialog에 ProgressBar 띄우는 코드
Youngs_
2022. 9. 5. 10:59
private var dialog: Dialog? = null
val linearLayout = LinearLayout(context)
linearLayout.gravity = Gravity.CENTER
linearLayout.setBackgroundColor(Color.TRANSPARENT)
val progressBar = ProgressBar(context)
linearLayout.addView(
progressBar,
ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT
)
)
dialog = Dialog(context)
dialog?.requestWindowFeature(Window.FEATURE_NO_TITLE)
if (dialog?.window != null) {
dialog?.window?.setBackgroundDrawableResource(android.R.color.transparent)
}
dialog?.setContentView(
linearLayout,
ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
)
dialog?.setCancelable(false)
dialog?.setOnKeyListener { dialog, keyCode, event -> keyCode == KeyEvent.KEYCODE_SEARCH && event.repeatCount == 0 }
dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) // Dialog 뒷 배경 검정색으로 나오지않게하기
dialog?.show()