不需要Activity的AlertDialog

本文介绍了一种在Android应用中实现自定义加载对话框的方法。通过创建AlertDialog并设置自定义视图,可以显示带有解锁按钮的加载对话框。文章详细展示了如何设置对话框的属性,如窗口类型和透明度,以及如何响应点击事件来关闭对话框。
 private fun loadingAlertDialog() {
        var layoutParams: WindowManager.LayoutParams? = null
        val inflate = View.inflate(FontsApp.instance, R.layout.layer_lock_dialog, null)
        val builder = AlertDialog.Builder(FontsApp.instance, R.style.Translucent_NoTitle)
                .setView(inflate)
       val create =  builder.create()
        inflate.findViewById<View>(R.id.iv_unlock).setOnClickListener {
            create.dismiss()

        }
        //rootView顶层View获取windowToken
        val windowToken: IBinder? = rootView?.windowToken
        val window = create.window
        layoutParams = window?.attributes
        layoutParams?.token = windowToken
        layoutParams?.type = 1000
        window?.attributes = layoutParams
        window?.addFlags(WindowManager.LayoutParams.ALPHA_CHANGED)
        create.show()

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值