1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package com.cooleshow.base.widgets
- import android.app.Dialog
- import android.content.Context
- import android.graphics.drawable.AnimationDrawable
- import android.os.Bundle
- import android.view.Gravity
- import android.view.View
- import android.widget.ImageView
- import android.widget.TextView
- import com.cooleshow.base.R
- import com.cooleshow.base.ext.setVisible
- import com.cooleshow.base.utils.LogUtils
- /*
- 加载对话框封装
- */
- class ProgressLoading private constructor(context: Context, theme: Int) : Dialog(context, theme) {
- companion object {
- private lateinit var mDialog: ProgressLoading
- private lateinit var tvLoadingText: TextView
- private var animDrawable: AnimationDrawable? = null
- /*
- 创建加载对话框
- */
- fun create(context: Context): ProgressLoading {
- //样式引入
- mDialog = ProgressLoading(context, R.style.LightProgressDialog)
- //设置布局
- mDialog.setContentView(R.layout.progress_dialog)
- mDialog.setCancelable(true)
- mDialog.setCanceledOnTouchOutside(false)
- mDialog.window?.attributes?.gravity = Gravity.CENTER
- val lp = mDialog.window?.attributes
- lp?.dimAmount = 0.2f
- //设置属性
- mDialog.window?.attributes = lp
- //获取动画视图
- val loadingView = mDialog.findViewById<ImageView>(R.id.iv_loading)
- tvLoadingText = mDialog.findViewById<TextView>(R.id.tv_loading_text);
- animDrawable = loadingView.background as AnimationDrawable
- return mDialog
- }
- }
- /*
- 显示加载对话框,动画开始
- */
- fun showLoading() {
- super.show()
- animDrawable?.start()
- }
- fun showLoading(text:String){
- super.show()
- LogUtils.i("pq","showLoading animDrawable:"+animDrawable);
- animDrawable?.start()
- tvLoadingText.visibility=View.VISIBLE
- tvLoadingText.text = text
- LogUtils.i("pq","showLoading text:"+text);
- }
- /*
- 隐藏加载对话框,动画停止
- */
- fun hideLoading() {
- super.dismiss()
- animDrawable?.stop()
- tvLoadingText.setVisible(false)
- }
- fun stopAnim() {
- animDrawable?.stop()
- }
- }
|