فهرست منبع

1.替换首页tab选中图片
2.部分图片不走缓存
3.按钮上下滑动出现的bug

FailedToRead 3 سال پیش
والد
کامیت
36e687bb68
20فایلهای تغییر یافته به همراه41 افزوده شده و 29 حذف شده
  1. 7 0
      app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java
  2. 0 3
      app/src/main/java/com/edufound/reader/activity/MainActivity.java
  3. 1 1
      app/src/main/java/com/edufound/reader/application/EApplication.java
  4. 1 1
      app/src/main/java/com/edufound/reader/contract/RecommendFragmentContract.java
  5. 1 1
      app/src/main/java/com/edufound/reader/fragment/RecommendFragment.java
  6. 5 1
      app/src/main/java/com/edufound/reader/presenter/MainPresenter.java
  7. 7 18
      app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java
  8. 2 1
      app/src/main/java/com/edufound/reader/util/GlideUtils.java
  9. 4 0
      app/src/main/java/com/edufound/reader/videoutil/OnViewPagerListener.java
  10. 10 0
      app/src/main/java/com/edufound/reader/videoutil/ViewPagerLayoutManager.java
  11. BIN
      app/src/main/res/drawable/activity_safflower_bg.png
  12. BIN
      app/src/main/res/drawable/icon.png
  13. BIN
      app/src/main/res/drawable/main_left_tab_layout_character_s.png
  14. BIN
      app/src/main/res/drawable/main_left_tab_layout_follow_s.png
  15. BIN
      app/src/main/res/drawable/main_left_tab_layout_recommend_s.png
  16. BIN
      app/src/main/res/drawable/main_tab_layout_myinfo_s.png
  17. BIN
      app/src/main/res/drawable/splash_bg.jpg
  18. 0 1
      app/src/main/res/layout/activity_saffloer.xml
  19. 1 1
      app/src/main/res/layout/adapter_item_safflower.xml
  20. 2 1
      app/src/main/res/values/strings.xml

+ 7 - 0
app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java

@@ -3,6 +3,7 @@ package com.edufound.reader.activity;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
+import android.os.Build;
 import android.view.ViewGroup;
 
 import com.baidu.duer.bot.directive.payload.AmountInfo;
@@ -16,6 +17,7 @@ import com.edufound.reader.presenter.CrashDialogPresenter;
 import java.util.HashMap;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.RequiresApi;
 import io.reactivex.rxjava3.annotations.Nullable;
 
 public class CrashDialogActivity extends BaseMvpActivity<CrashDialogPresenter> implements CrashDialogContract.View {
@@ -37,10 +39,15 @@ public class CrashDialogActivity extends BaseMvpActivity<CrashDialogPresenter> i
         builder.setIcon(R.drawable.icon);
         builder.setMessage("出现异常");
         builder.setNegativeButton("退出", new DialogInterface.OnClickListener() {
+            @RequiresApi(api = Build.VERSION_CODES.N)
             @Override
             public void onClick(DialogInterface dialogInterface, int i) {
                 dialogInterface.dismiss();
+                EApplication.mActivityList.forEach((item) -> {
+                    item.finish();
+                });
                 EApplication.killAppProcess(mActivity);
+                android.os.Process.killProcess(android.os.Process.myPid());
             }
         });
         builder.create().show();

+ 0 - 3
app/src/main/java/com/edufound/reader/activity/MainActivity.java

@@ -21,7 +21,6 @@ import com.edufound.reader.annotation.BindView;
 import com.edufound.reader.base.BaseActivity;
 import com.edufound.reader.base.BaseMvpActivity;
 import com.edufound.reader.contract.MainContract;
-import com.edufound.reader.cusview.CusToast;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.presenter.MainPresenter;
 import com.edufound.reader.receiver.BackPageReceiver;
@@ -30,8 +29,6 @@ import com.orhanobut.logger.Logger;
 import java.util.HashMap;
 
 import androidx.annotation.NonNull;
-import cn.jzvd.Jzvd;
-import cn.jzvd.JzvdStd;
 import io.reactivex.rxjava3.annotations.Nullable;
 
 public class MainActivity extends BaseMvpActivity<MainPresenter> implements MainContract.View {

+ 1 - 1
app/src/main/java/com/edufound/reader/application/EApplication.java

@@ -53,7 +53,7 @@ public class EApplication extends Application {
     public void onCreate() {
         super.onCreate();
         try {
-            Consts.setIsDebug(false);
+            Consts.setIsDebug(true);
             Consts.setmApplicAtion(this);
 
             //初始化异常监听

+ 1 - 1
app/src/main/java/com/edufound/reader/contract/RecommendFragmentContract.java

@@ -50,7 +50,7 @@ public interface RecommendFragmentContract {
     interface Presenter {
         void initVideoList(RecyclerView rv, int type, int startPosition);
 
-        Object getCurPlayVideo();
+        int getCurPlayVideoIndex();
 
         Object getCurVideoExampleId();
 

+ 1 - 1
app/src/main/java/com/edufound/reader/fragment/RecommendFragment.java

@@ -130,7 +130,6 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
         AnimatorSet animatorSet = new AnimatorSet();
         animatorSet.play(mToRecordScaleXAnim).with(mToRecordScaleYAnim);
         animatorSet.start();
-        mPresenter.setIntoPage(intoPage);
 
     }
 
@@ -158,6 +157,7 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
             });
             addUiClickListener(mVideoNext, o -> {
                 mPresenter.scrollToNextFunction(mRecyclerView, true);
+//                mPresenter.toNext(mRecyclerView);
                 Logger.e("下一个视频");
             });
         }

+ 5 - 1
app/src/main/java/com/edufound/reader/presenter/MainPresenter.java

@@ -40,7 +40,11 @@ import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
 
+import java.io.BufferedWriter;
+import java.io.File;
 import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -142,7 +146,7 @@ public class MainPresenter extends BasePresenter<MainContract.View> implements M
             tv.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
-                    MMKVUtil.getInstance().clearAll();
+//                    MMKVUtil.getInstance().clearAll();
                 }
             });
             mView.getRootView().addView(tv);

+ 7 - 18
app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java

@@ -17,6 +17,7 @@ import com.edufound.reader.bean.HttpResultBean;
 import com.edufound.reader.bean.HttpResultDataListBean;
 import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.RecommendFragmentContract;
+import com.edufound.reader.cusview.CusToast;
 import com.edufound.reader.cusview.RvListJzvdStd;
 import com.edufound.reader.model.RecommendFragmentModel;
 import com.edufound.reader.receiver.BackPageReceiver;
@@ -56,7 +57,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     int mTotalSize = 20;
     int mPageIndex = 1;
     boolean loadOver = false;
-    private String intoPage;
 
 
     public RecommendFragmentPresenter(Context context) {
@@ -68,10 +68,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     }
 
 
-    public void setIntoPage(String name) {
-        intoPage = name;
-    }
-
     @Override
     public void initVideoList(RecyclerView rv, int type, int startPosition) {
         rv.setOutlineProvider(new ViewOutlineProvider() {
@@ -153,11 +149,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
                 }
 //                Logger.e("mCurrentPosition:" + mCurrentPosition);
 //                Logger.e("mDataList:" + mDataList.size());
-            }
-        });
-        rv.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() {
-            @Override
-            public void onChildViewAttachedToWindow(View view) {
                 scrollToNextFunction(rv, false);
             }
 
@@ -179,7 +170,7 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     }
 
     @Override
-    public Object getCurPlayVideo() {
+    public int getCurPlayVideoIndex() {
         return mCurrentPosition;
     }
 
@@ -257,8 +248,7 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
 
             @Override
             public void onFailure(HttpInfo info) throws IOException {
-                Logger.e("获取推荐列表失败:" + info.getRetDetail());
-                Logger.e("info.getUrl():" + info.getUrl());
+                CusToast.getInstance(mView.getActivity()).show(info.getRetDetail(), 3000);
             }
         });
     }
@@ -326,9 +316,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     public void getRecordInfoById(String id) {
 
         if (mView == null) {
-            Logger.e("mView==null了");
-            Logger.e("activityName==" + intoPage);
-            Logger.e("loadtype:" + loadType);
             return;
         }
         mModel.getRecordInfoById(mView.getActivity(), id, new Callback() {
@@ -395,12 +382,15 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         }
         //获取当前显示的View 的数据
         int childCount = rv.getChildCount();
+        Logger.e("childCount:" + childCount);
         //获取最后一具 Item 对应的View
         View childAt = rv.getChildAt(childCount - 1);
         //获取当前军舰中显示的最后一个 Item 的位置  Postion
         int childLayoutPosition = rv.getChildLayoutPosition(childAt);
         mView.setTopStatus(mDataList.get(childLayoutPosition));
         RvListJzvdStd player = rv.getChildAt(0).findViewById(R.id.slidevideo_video);
+        Logger.e("player==null:" + (player == null));
+        Logger.e("player==player.state:" + player.state);
         if (player != null) {
             if (player.state == Jzvd.STATE_PLAYING) {
                 //正在播放
@@ -433,6 +423,7 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         }
     }
 
+
     public void scrollToNextFunction(RecyclerView rv, boolean needScroll) {
         Logger.e("needScroll:" + needScroll);
         //获取当前显示的View 的数据
@@ -442,8 +433,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         //获取当前军舰中显示的最后一个 Item 的位置  Postion
         int childLayoutPosition = rv.getChildLayoutPosition(childAt);
         //如果不是最后一个就向下滑动
-
-
         if (childLayoutPosition < rv.getAdapter().getItemCount() - 1) {
             if (needScroll) {
                 rv.smoothScrollToPosition(childLayoutPosition + 1);

+ 2 - 1
app/src/main/java/com/edufound/reader/util/GlideUtils.java

@@ -8,6 +8,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.Priority;
 import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.MultiTransformation;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
 import com.bumptech.glide.load.engine.GlideException;
 import com.bumptech.glide.load.resource.bitmap.CenterCrop;
 import com.bumptech.glide.request.RequestListener;
@@ -104,7 +105,7 @@ public class GlideUtils {
         RequestOptions options = new RequestOptions()
                 .placeholder(placeholderImage) //占位图
                 .error(errorImage)             //错误图
-                .skipMemoryCache(true);          //禁用掉Glide的内存缓存功能
+                .skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE);          //禁用掉Glide的内存缓存功能
         Glide.with(context).load(url).apply(options).into(imageView);
 
     }

+ 4 - 0
app/src/main/java/com/edufound/reader/videoutil/OnViewPagerListener.java

@@ -1,6 +1,8 @@
 package com.edufound.reader.videoutil;
 
 
+import android.view.View;
+
 public interface OnViewPagerListener {
 
     /*初始化完成*/
@@ -12,5 +14,7 @@ public interface OnViewPagerListener {
     /*选中的监听以及判断是否滑动到底部*/
     void onPageSelected(int position, boolean isBottom);
 
+    void onChildViewDetachedFromWindow(View view);
+
 
 }

+ 10 - 0
app/src/main/java/com/edufound/reader/videoutil/ViewPagerLayoutManager.java

@@ -34,6 +34,7 @@ public class ViewPagerLayoutManager extends LinearLayoutManager {
                 if (mOnViewPagerListener != null)
                     mOnViewPagerListener.onPageRelease(false, getPosition(view));
             }
+            mOnViewPagerListener.onChildViewDetachedFromWindow(view);
 
         }
     };
@@ -82,9 +83,18 @@ public class ViewPagerLayoutManager extends LinearLayoutManager {
      */
     @Override
     public void onScrollStateChanged(int state) {
+        Logger.e("onPageSelected--onScrollStateChanged:--state:" + state);
         switch (state) {
             case RecyclerView.SCROLL_STATE_IDLE:
                 View viewIdle = mPagerSnapHelper.findSnapView(this);
+                if (getChildCount() > 1) {
+                    //有多余的
+                    if (mDrift >= 0) {
+                        removeViewAt(1);
+                    } else {
+                        removeViewAt(0);
+                    }
+                }
                 if (viewIdle != null) {
                     int positionIdle = getPosition(viewIdle);
                     if (mOnViewPagerListener != null && getChildCount() == 1) {

BIN
app/src/main/res/drawable/activity_safflower_bg.png


BIN
app/src/main/res/drawable/icon.png


BIN
app/src/main/res/drawable/main_left_tab_layout_character_s.png


BIN
app/src/main/res/drawable/main_left_tab_layout_follow_s.png


BIN
app/src/main/res/drawable/main_left_tab_layout_recommend_s.png


BIN
app/src/main/res/drawable/main_tab_layout_myinfo_s.png


BIN
app/src/main/res/drawable/splash_bg.jpg


+ 0 - 1
app/src/main/res/layout/activity_saffloer.xml

@@ -14,7 +14,6 @@
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-
             app:layout_constraintTop_toTopOf="parent"></FrameLayout>
 
 

+ 1 - 1
app/src/main/res/layout/adapter_item_safflower.xml

@@ -4,7 +4,7 @@
         android:layout_width="550dp"
         android:layout_height="52dp"
         android:layout_gravity="center"
-        android:background="#FFE5BF"
+        android:background="#F1F9F4"
         roundframelayout:radio="26">
 
     <FrameLayout

+ 2 - 1
app/src/main/res/values/strings.xml

@@ -1,5 +1,6 @@
 <resources>
-    <string name="app_name">朗读配音</string>
+    <!--    <string name="app_name">朗读配音</string>-->
+    <string name="app_name">课文朗读</string>
 
 
 </resources>