فهرست منبع

1.替换标签为图片
2.活动视频按钮位置修改

FailedToRead 2 سال پیش
والد
کامیت
a0cd01fed7

+ 89 - 26
app/src/main/java/com/edufound/reader/adapter/SlideVideoAdapter.java

@@ -9,6 +9,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CompoundButton;
+import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.Switch;
@@ -68,8 +69,8 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
     }
 
 
-    public String getItemType(int position) {
-        return mListData.get(position).getUserRead().getType();
+    public String getItemTag(int position) {
+        return mListData.get(position).getUserRead().getTag();
     }
 
     @NonNull
@@ -94,8 +95,57 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
          * */
         holder.mItemView.setTag(mListData.get(position).getUserRead().getType());
         holder.itemView.setTag(mListData.get(position).getUserRead().getType());
-        if (mListData.get(position).getUserRead().getType().equals("READ") || mListData.get(position).getUserRead().getType().equals("EXAMPLE")) {
-//            AAA代替EXAMPLE
+
+
+        boolean needDanMu = false;
+        boolean needTag = false;
+        int tagType = -1;
+        String tagText = "";
+        if (mListData.get(position).getUserRead().getTag().equals("READ") || mListData.get(position).getUserRead().getTag().equals("EXAMPLE")) {
+            //是用户朗读的和官方作品
+            needDanMu = true;
+            needTag = false;
+            tagText = "";
+
+        } else if (mListData.get(position).getUserRead().getTag().equals("ACTIVITY")) {
+            //是活动
+            //这里修改成新的type。就可以使用了
+            holder.mSwitch.setVisibility(View.INVISIBLE);
+            holder.mEventBtn.setVisibility(View.VISIBLE);
+            GlideUtils.loadImage(mContext, R.drawable.event_video_into, holder.mEventBtn);
+            holder.mEventBtn.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    EfunboxUtil.toWebFlowerActivity(mContext);
+                }
+            });
+            needDanMu = false;
+            needTag = true;
+            tagText = "活动";
+            tagType = 1;
+
+        } else if (mListData.get(position).getUserRead().getTag().equals("HOT")) {
+            //热播作品
+            needDanMu = true;
+            needTag = false;
+            tagText = "热播";
+            tagType = 2;
+
+        } else if (mListData.get(position).getUserRead().getTag().equals("NEW")) {
+            //新作品
+            needDanMu = true;
+            needTag = false;
+            tagText = "新作品";
+            tagType = 3;
+        } else if (mListData.get(position).getUserRead().getTag().equals("EXCELLENT")) {
+            //优秀作品
+            needDanMu = true;
+            needTag = true;
+            tagText = "优秀作品";
+            tagType = 4;
+        }
+
+        if (needDanMu) {
             holder.initDanMu(mListData.get(position).getUserRead().getId());
             holder.mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                 @Override
@@ -109,29 +159,42 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
                     }
                 }
             });
-        } else if (mListData.get(position).getUserRead().getType().equals("AA")) {
-            //这里修改成新的type。就可以使用了
-            holder.mSwitch.setVisibility(View.INVISIBLE);
-            holder.mEventBtn.setVisibility(View.VISIBLE);
-            holder.mEventBtn.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    EfunboxUtil.toWebFlowerActivity(mContext);
-                }
-            });
-            TextView textView = new TextView(mContext);
-            textView.setLayoutParams(new LinearLayout.LayoutParams(SizeUtils.dp2px(mContext, 200), LinearLayout.LayoutParams.MATCH_PARENT));
-            //左上圆角
+        }
+
+        if (needTag) {
+//            // 判断是否是优秀视频type,然后增加tag标签
+//            TextView textView = new TextView(mContext);
+//            textView.setLayoutParams(new LinearLayout.LayoutParams(SizeUtils.dp2px(mContext, 200), LinearLayout.LayoutParams.MATCH_PARENT));
+//            textView.setText(tagText);
+//            //左上圆角
+//
+//            ShapeCreator.create()
+//                    .setCornerRadiusLT(50)
+//                    .setCornerRadiusRB(50)
+//                    .setSolidColor(mContext.getResources().getColor(R.color.grassgreen))
+//                    .into(textView);
             holder.mTagLayout.removeAllViews();
-            ShapeCreator.create()
-                    .setCornerRadiusLT(50)
-                    .setCornerRadiusRB(50)
-                    .setSolidColor(mContext.getResources().getColor(R.color.grassgreen))
-                    .into(textView);
-            holder.mTagLayout.addView(textView);
+            ImageView tagImg = new ImageView(mContext);
+            tagImg.setLayoutParams(new FrameLayout.LayoutParams(new LinearLayout.LayoutParams(SizeUtils.dp2px(mContext, 200), SizeUtils.dp2px(mContext, 70))));
+            Logger.e("tagType:" + tagType);
+            switch (tagType) {
+                case 1:
+                    //活动
+                    GlideUtils.loadImage(mContext, R.drawable.event_activity, tagImg);
+                    break;
+                case 2:
+                    //热播
+                    break;
+                case 3:
+                    //新作品
+                    break;
+                case 4:
+                    //优秀作品
+                    GlideUtils.loadImage(mContext, R.drawable.event_excellent, tagImg);
+                    break;
+            }
+            holder.mTagLayout.addView(tagImg);
             holder.mTagLayout.setVisibility(View.VISIBLE);
-        } else {
-
         }
 
 //        holder.mVideo.posterImageView.setImageURI(Uri.parse(mListData.get(position).videoUrl));
@@ -162,7 +225,7 @@ class VideoHolder extends RecyclerView.ViewHolder {
     public AutoPollRecyclerView mMarqueen;
     public Switch mSwitch;
     public ImageView mEventBtn;
-    public LinearLayout mTagLayout;
+    public FrameLayout mTagLayout;
     public Activity mContext;
 
     public VideoHolder(Activity context, @NonNull View itemView) {

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

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

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

@@ -112,23 +112,17 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
             //不是百度渠道得增加动画
             int scaleTime = 0;
             int rotateTime = 0;
-            if (!Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
-                //录音按钮背景旋转
-                scaleTime = 5000;
-                rotateTime = 3000;
-            } else {
-                scaleTime = 1000;
-                rotateTime = 1500;
-            }
+            scaleTime = 1000;
+            rotateTime = 1500;
             mToRecordRotationbg = mToRecordLayout.findViewById(R.id.fragment_recommend_to_record_bg);
             mRotationImgAnim = ObjectAnimator.ofFloat(mToRecordRotationbg, "rotation", 0.0F, 359.0F);
             mRotationImgAnim.setRepeatCount(-1);
-            mRotationImgAnim.setDuration(1500);
+            mRotationImgAnim.setDuration(rotateTime);
             LinearInterpolator interpolator = new LinearInterpolator();
             mRotationImgAnim.setInterpolator(interpolator); //设置匀速旋转,不卡顿 icon_anim.start();
             mRotationImgAnim.start();
 
-//        录音按钮缩小放大
+//           录音按钮缩小放大
             mToRecordScaleIcon = mToRecordLayout.findViewById(R.id.fragment_recommend_to_record_icon);
             mToRecordScaleXAnim = ObjectAnimator.ofFloat(mToRecordScaleIcon, "scaleX", 1F, 1.2F);//设置Y轴的立体旋转动画
             mToRecordScaleXAnim.setRepeatCount(-1);

+ 10 - 20
app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java

@@ -166,20 +166,18 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
 //                }
 
                 ((BaseActivity) mView.getActivity()).removeFirstTipView();
-                autoPlayVideo(rv);
                 mCurrentPosition = position;
+                autoPlayVideo(rv);
                 if (mCurrentPosition == 0) {
                     Toast.makeText(mContext, "到顶了", Toast.LENGTH_SHORT).show();
                 } else if (mCurrentPosition == (mTotalSize - 1)) {
                     Toast.makeText(mContext, "到底了", Toast.LENGTH_SHORT).show();
                 }
 
-//                if (mAdapter.getItemType(mCurrentPosition).equals("READ")) {
-//                    mView.showAllUi();
-//                } else if (mAdapter.getItemType(mCurrentPosition).equals("EXAMPLE")) {
+//                if (mAdapter.getItemTag(mCurrentPosition).equals("ACTIVITY")) {
 //                    mView.eventHideUi();
 //                } else {
-//
+//                    mView.showAllUi();
 //                }
 //                Logger.e("mCurrentPosition:" + mCurrentPosition);
 //                Logger.e("mDataList:" + mDataList.size());
@@ -265,27 +263,19 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     public void getRecommendDataList() {
         if (mDataList != null && mDataList.size() >= mTotalSize) {
             loadOver = true;
-//            Toast.makeText(mContext, "没有更多了", Toast.LENGTH_SHORT).show();
             return;
         }
-        if (TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE))) {
-            //如果是空的,就是没选择过年纪。然后给个默认的一年级
-            //PRESCHOOL,FIRST_GRADE,SECOND_GRADE,THIRD_GRADE,FOURTH_GRADE
-//            MMKVUtil.getInstance().encode(MMKVEncodeKey.USER_GRADE, "FIRST_GRADE");
-        }
         String grade = MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE);
-        if (TextUtils.isEmpty(grade)) {
-            grade = EfunboxUtil.getEnumByCNGrade("一年级");
-        }
-        if (Consts.getmConstsUserBean() == null) {
+        if (TextUtils.isEmpty(grade) || Consts.getmConstsUserBean() == null) {
             grade = EfunboxUtil.getEnumByCNGrade("一年级");
+        } else {
+            grade = Consts.getmConstsUserBean().getGrade();
         }
         mModel.getRecommendList(mView.getActivity(), grade, mPageIndex, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
                 HttpResultBean<HttpResultDataListBean<UserRecordBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<UserRecordBean>>>() {
                 }.getType());
-
                 if (ThroughUtil.mThroughType != null && ThroughUtil.mThroughType.equals(ThroughType.TYPEB)) {
                     //要根据ID获取视频并且放到第一个
                     for (int i = 0; i < bean.getData().getList().size(); i++) {
@@ -453,13 +443,13 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         if (rv == null || rv.getChildAt(0) == null) {
             return;
         }
-        if (mAdapter.getItemType(mCurrentPosition).equals("READ") || mAdapter.getItemType(mCurrentPosition).equals("EXAMPLE")) {
-            mView.showAllUi();
-        } else if (mAdapter.getItemType(mCurrentPosition).equals("AAA")) {
+        if (mAdapter.getItemTag(mCurrentPosition).equals("ACTIVITY")) {
             mView.eventHideUi();
         } else {
-
+            mView.showAllUi();
         }
+        Logger.e("mAdapter.getItemTag(mCurrentPosition):" + mAdapter.getItemTag(mCurrentPosition));
+
         //获取当前显示的View 的数据
         int childCount = rv.getChildCount();
         //获取最后一具 Item 对应的View

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


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


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


+ 9 - 9
app/src/main/res/layout/adapter_item_slidevideo.xml

@@ -47,20 +47,20 @@
     <ImageView
         android:id="@+id/adapter_item_slidevideo_event_btn"
         android:layout_width="200dp"
-        android:layout_height="100dp"
-        android:layout_gravity="center|bottom"
-        android:layout_marginRight="150dp"
-        android:layout_marginBottom="150dp"
-        android:background="@color/yellow"
+        android:layout_height="80dp"
+        android:layout_gravity="left|bottom"
+        android:layout_marginLeft="30dp"
+        android:layout_marginBottom="30dp"
+        android:scaleType="fitXY"
         android:visibility="invisible"></ImageView>
 
-    <LinearLayout
+    <FrameLayout
         android:id="@+id/adapter_item_slidevideo_tagLayout"
         android:layout_width="wrap_content"
-        android:layout_height="50dp"
-        android:layout_marginLeft="5dp"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="20dp"
         android:layout_marginTop="5dp"
         android:orientation="horizontal">
 
-    </LinearLayout>
+    </FrameLayout>
 </FrameLayout>