浏览代码

优化老师端主页播放视频流程,增加loading

Pq 1 年之前
父节点
当前提交
6b0eb0137d

+ 24 - 0
BaseLibrary/src/main/java/com/cooleshow/base/ui/video/VideoPlayActivity.java

@@ -2,9 +2,11 @@ package com.cooleshow.base.ui.video;
 
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.drawable.AnimationDrawable;
 import android.media.MediaPlayer;
 import android.net.Uri;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 import android.widget.MediaController;
 
@@ -23,6 +25,8 @@ public class VideoPlayActivity extends BaseActivity<ActivityVideoPlayLayoutBindi
     public static final String VIDEO_PATH_KEY = "video_path";
     private MediaController mMediaController;
 
+    private AnimationDrawable animDrawable;
+
     public static void start(Context context, String videoPath) {
         Intent intent = new Intent(context, VideoPlayActivity.class);
         intent.putExtra(VIDEO_PATH_KEY, videoPath);
@@ -38,6 +42,8 @@ public class VideoPlayActivity extends BaseActivity<ActivityVideoPlayLayoutBindi
             finish();
             return;
         }
+        animDrawable = (AnimationDrawable) viewBinding.ivLoading.getBackground();
+        showVideoLoading();
         viewBinding.ivIconBack.setOnClickListener(this);
         viewBinding.videoView.setVideoPath(videoPath);
         viewBinding.videoView.requestFocus();
@@ -49,6 +55,20 @@ public class VideoPlayActivity extends BaseActivity<ActivityVideoPlayLayoutBindi
         viewBinding.videoView.start();
     }
 
+    private void showVideoLoading() {
+        viewBinding.flProgress.setVisibility(View.VISIBLE);
+        if (animDrawable != null) {
+            animDrawable.start();
+        }
+    }
+
+    private void hideVideoLoading(){
+        if (animDrawable != null) {
+            animDrawable.stop();
+        }
+        viewBinding.flProgress.setVisibility(View.GONE);
+    }
+
     @Override
     protected ActivityVideoPlayLayoutBinding getLayoutView() {
         return ActivityVideoPlayLayoutBinding.inflate(getLayoutInflater());
@@ -62,6 +82,8 @@ public class VideoPlayActivity extends BaseActivity<ActivityVideoPlayLayoutBindi
      */
     @Override
     public void onPrepared(MediaPlayer mp) {
+        Log.i("pq","Thread:"+Thread.currentThread().getName());
+        hideVideoLoading();
     }
 
     /**
@@ -85,6 +107,8 @@ public class VideoPlayActivity extends BaseActivity<ActivityVideoPlayLayoutBindi
     @Override
     public boolean onError(MediaPlayer mp, int what, int extra) {
         ToastUtil.getInstance().showShort("视频加载失败");
+        Log.i("pq"," onError Thread:"+Thread.currentThread().getName());
+        hideVideoLoading();
         return false;
     }
 

+ 28 - 0
BaseLibrary/src/main/res/layout/activity_video_play_layout.xml

@@ -23,6 +23,34 @@
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
+
+    <LinearLayout
+        android:orientation="vertical"
+        android:id="@+id/fl_progress"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:layout_width="wrap_content"
+        android:gravity="center"
+        android:layout_height="wrap_content">
+        <ImageView
+            android:id="@+id/iv_loading"
+            style="@style/WrapWrap"
+            android:background="@drawable/progress_dialog_anim" />
+
+        <TextView
+            android:layout_marginTop="5dp"
+            android:layout_gravity="center_horizontal|bottom"
+            android:id="@+id/tv_loading_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="加载中..."
+            android:textColor="@color/white"
+            android:textSize="@dimen/sp_13"
+            android:visibility="visible" />
+    </LinearLayout>
+
     <ImageView
         android:id="@+id/iv_play"
         android:layout_width="wrap_content"