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.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; import com.airbnb.lottie.LottieAnimationView; import com.cooleshow.base.R; import com.cooleshow.base.widgets.dialog.BaseFullDialog; import androidx.annotation.NonNull; /** * Author by pq, Date on 2022/12/19. */ public class ProgressLoading2 extends BaseFullDialog { private ImageView mImageView; private TextView mTvLoadingText; private LottieAnimationView mViewLoadingAnim; public ProgressLoading2(@NonNull Context context) { super(context, R.style.LightProgressDialog); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.progress_dialog); setCancelable(true); setCanceledOnTouchOutside(false); WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.gravity = Gravity.CENTER; attributes.dimAmount = 0.2f; getWindow().setAttributes(attributes); mImageView = findViewById(R.id.iv_loading); mTvLoadingText = findViewById(R.id.tv_loading_text); mViewLoadingAnim = findViewById(R.id.view_loading_anim); mViewLoadingAnim.setImageAssetsFolder("lottie/refresh/images/"); mViewLoadingAnim.setAnimation("lottie/refresh_anim.json"); mViewLoadingAnim.loop(true); } public void showLoading() { super.show(); if (mViewLoadingAnim != null) { mViewLoadingAnim.playAnimation(); } if (mTvLoadingText != null) { mTvLoadingText.setText("加载中"); mTvLoadingText.setVisibility(View.VISIBLE); } } public void showLoading(String text) { super.show(); if (mViewLoadingAnim != null) { mViewLoadingAnim.playAnimation(); } if (mTvLoadingText != null) { mTvLoadingText.setText(text); mTvLoadingText.setVisibility(View.VISIBLE); } } public void updateLoadingText(String text) { if (mTvLoadingText != null) { mTvLoadingText.setText(text); mTvLoadingText.setVisibility(View.VISIBLE); } } public void hideLoading() { super.dismiss(); stopAnim(); } public void stopAnim() { if (mViewLoadingAnim != null) { mViewLoadingAnim.cancelAnimation(); } } }