ProgressLoading2.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.cooleshow.base.widgets;
  2. import android.app.Dialog;
  3. import android.content.Context;
  4. import android.graphics.drawable.AnimationDrawable;
  5. import android.os.Bundle;
  6. import android.view.Gravity;
  7. import android.view.View;
  8. import android.view.WindowManager;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11. import com.airbnb.lottie.LottieAnimationView;
  12. import com.cooleshow.base.R;
  13. import com.cooleshow.base.widgets.dialog.BaseFullDialog;
  14. import androidx.annotation.NonNull;
  15. /**
  16. * Author by pq, Date on 2022/12/19.
  17. */
  18. public class ProgressLoading2 extends BaseFullDialog {
  19. private ImageView mImageView;
  20. private TextView mTvLoadingText;
  21. private LottieAnimationView mViewLoadingAnim;
  22. public ProgressLoading2(@NonNull Context context) {
  23. super(context, R.style.LightProgressDialog);
  24. }
  25. @Override
  26. protected void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.progress_dialog);
  29. setCancelable(true);
  30. setCanceledOnTouchOutside(false);
  31. WindowManager.LayoutParams attributes = getWindow().getAttributes();
  32. attributes.gravity = Gravity.CENTER;
  33. attributes.dimAmount = 0.2f;
  34. getWindow().setAttributes(attributes);
  35. mImageView = findViewById(R.id.iv_loading);
  36. mTvLoadingText = findViewById(R.id.tv_loading_text);
  37. mViewLoadingAnim = findViewById(R.id.view_loading_anim);
  38. mViewLoadingAnim.setImageAssetsFolder("lottie/refresh/images/");
  39. mViewLoadingAnim.setAnimation("lottie/refresh_anim.json");
  40. mViewLoadingAnim.loop(true);
  41. }
  42. public void showLoading() {
  43. super.show();
  44. if (mViewLoadingAnim != null) {
  45. mViewLoadingAnim.playAnimation();
  46. }
  47. if (mTvLoadingText != null) {
  48. mTvLoadingText.setText("加载中");
  49. mTvLoadingText.setVisibility(View.VISIBLE);
  50. }
  51. }
  52. public void showLoading(String text) {
  53. super.show();
  54. if (mViewLoadingAnim != null) {
  55. mViewLoadingAnim.playAnimation();
  56. }
  57. if (mTvLoadingText != null) {
  58. mTvLoadingText.setText(text);
  59. mTvLoadingText.setVisibility(View.VISIBLE);
  60. }
  61. }
  62. public void updateLoadingText(String text) {
  63. if (mTvLoadingText != null) {
  64. mTvLoadingText.setText(text);
  65. mTvLoadingText.setVisibility(View.VISIBLE);
  66. }
  67. }
  68. public void hideLoading() {
  69. super.dismiss();
  70. stopAnim();
  71. }
  72. public void stopAnim() {
  73. if (mViewLoadingAnim != null) {
  74. mViewLoadingAnim.cancelAnimation();
  75. }
  76. }
  77. }