浏览代码

添加学生个人资料页面最近练习逻辑

Pq 2 年之前
父节点
当前提交
540d345b07

+ 16 - 9
BaseLibrary/src/main/java/com/cooleshow/base/adapter/RecentPracticeAdapter.java

@@ -27,12 +27,12 @@ public class RecentPracticeAdapter extends BaseQuickAdapter<RecentPracticeBean.R
 
     @Override
     protected void convert(@NonNull BaseViewHolder holder, RecentPracticeBean.RowsBean data) {
-        TextView tv_name=holder.getView(R.id.tv_name);
-        TextView tv_author=holder.getView(R.id.tv_author);
-        TextView tv_upload_author=holder.getView(R.id.tv_upload_author);
-        LinearLayout ll_music_subject=holder.getView(R.id.ll_music_subject);
-        ImageView iv_good_tag=holder.getView(R.id.iv_good_tag);
-        ImageView iv_album_tag=holder.getView(R.id.iv_album_tag);
+        TextView tv_name = holder.getView(R.id.tv_name);
+        TextView tv_author = holder.getView(R.id.tv_author);
+        TextView tv_upload_author = holder.getView(R.id.tv_upload_author);
+        LinearLayout ll_music_subject = holder.getView(R.id.ll_music_subject);
+        ImageView iv_good_tag = holder.getView(R.id.iv_good_tag);
+        ImageView iv_album_tag = holder.getView(R.id.iv_album_tag);
         //曲谱名称
         if (tv_name != null) {
             tv_name.setText(data.musicSheetName);
@@ -50,7 +50,7 @@ public class RecentPracticeAdapter extends BaseQuickAdapter<RecentPracticeBean.R
             String[] split = data.subjectNames.split(",");
             if (split != null && split.length > 0) {
                 for (int i = 0; i < split.length; i++) {
-                    createSubjectView(ll_music_subject,split[i]);
+                    createSubjectView(ll_music_subject, split[i]);
                 }
             }
         }
@@ -58,10 +58,17 @@ public class RecentPracticeAdapter extends BaseQuickAdapter<RecentPracticeBean.R
         //精品标记
         iv_good_tag.setVisibility(TextUtils.equals(data.exquisiteFlag, "1") ? View.VISIBLE : View.GONE);
         //专辑曲目标记
-        MusicSheetUtils.addAlbumTag(data.albumNums,iv_album_tag);
+        MusicSheetUtils.addAlbumTag(data.albumNums, iv_album_tag);
+        View view_line = holder.getView(R.id.view_line);
+        int pos = holder.getLayoutPosition();
+        if (pos != getData().size() - 1) {
+            view_line.setVisibility(View.VISIBLE);
+        } else {
+            view_line.setVisibility(View.INVISIBLE);
+        }
     }
 
-    private void createSubjectView(ViewGroup viewParent,String text) {
+    private void createSubjectView(ViewGroup viewParent, String text) {
         TextView textView = (TextView) LayoutInflater.from(getContext()).inflate(com.cooleshow.base.R.layout.view_subject_item_layout, viewParent, false);
         textView.setText(text);
         textView.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));

+ 42 - 1
BaseLibrary/src/main/java/com/cooleshow/base/ui/activity/userInfo/StudentUserInfoDetailActivity.java

@@ -3,21 +3,30 @@ package com.cooleshow.base.ui.activity.userInfo;
 import android.graphics.Color;
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.view.View;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.R;
 import com.cooleshow.base.adapter.RecentPracticeAdapter;
 import com.cooleshow.base.bean.RecentPracticeBean;
 import com.cooleshow.base.bean.UserDetailInfoBean;
+import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.contract.UserDetailContract;
 import com.cooleshow.base.databinding.ActivityUserInfoDetailLayoutBinding;
 import com.cooleshow.base.presenter.UserDetailPresenter;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 
+import java.util.List;
+
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
@@ -53,6 +62,25 @@ public class StudentUserInfoDetailActivity extends BaseMVPActivity<ActivityUserI
         emptyViewLayout.setContent(R.drawable.icon_empty_content, "暂无内容");
         mAdapter.setEmptyView(emptyViewLayout);
         viewBinding.recyclerView.setAdapter(mAdapter);
+        mAdapter.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                if (UiUtils.isFastClick()) {
+                    return;
+                }
+                if (position >= mAdapter.getData().size()) {
+                    return;
+                }
+                RecentPracticeBean.RowsBean data = mAdapter.getData().get(position);
+                ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_ACCOMPANY_HTML)
+                        .withString("url", String.format(WebConstants.SCORE_DETAIL_PAGE, data.id))
+                        .withBoolean("isHideTitle", true)
+                        .withBoolean("statusBarTextColor", true)
+                        .withBoolean("isOpenLight", true)
+                        .withInt("orientation", 0)
+                        .navigation();
+            }
+        });
     }
 
     @Override
@@ -79,6 +107,12 @@ public class StudentUserInfoDetailActivity extends BaseMVPActivity<ActivityUserI
         //头像
         GlideUtils.INSTANCE.loadImage(this, infoBean.avatar, viewBinding.ivAvatar, R.drawable.icon_default_head);
         //是否是vip
+        //头像
+        if (TextUtils.equals(infoBean.isVip, "1")) {
+            viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_fce2b7));
+        } else {
+            viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.white));
+        }
         viewBinding.ivVip.setImageResource(TextUtils.equals(infoBean.isVip, "1") ? R.drawable.icon_vip_able : R.drawable.icon_vip_enable);
         //昵称
         viewBinding.tvNickname.setText(infoBean.username);
@@ -98,7 +132,14 @@ public class StudentUserInfoDetailActivity extends BaseMVPActivity<ActivityUserI
             return;
         }
         if (mAdapter != null) {
-            mAdapter.setNewInstance(practiceBean.rows);
+            if (practiceBean.rows != null && practiceBean.rows.size() > 0) {
+                viewBinding.recyclerView.setBackgroundResource(R.drawable.bg_white_14dp);
+                mAdapter.setNewInstance(practiceBean.rows);
+            } else {
+                viewBinding.recyclerView.setBackgroundColor(Color.TRANSPARENT);
+                mAdapter.getData().clear();
+                mAdapter.notifyDataSetChanged();
+            }
         }
     }
 }

+ 5 - 0
BaseLibrary/src/main/res/layout/activity_user_info_detail_layout.xml

@@ -224,6 +224,11 @@
     <androidx.recyclerview.widget.RecyclerView
         app:layout_constraintTop_toBottomOf="@+id/tv_video_course_title"
         android:id="@+id/recyclerView"
+        android:layout_marginStart="14dp"
+        android:layout_marginEnd="14dp"
+        android:layout_marginTop="16dp"
+        android:paddingTop="10dp"
+        android:paddingBottom="10dp"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:overScrollMode="never"

+ 5 - 6
BaseLibrary/src/main/res/layout/item_recent_practice_layout.xml

@@ -4,8 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingStart="11dp"
-    android:paddingEnd="11dp">
+    android:paddingStart="18dp"
+    android:paddingEnd="18dp">
 
     <LinearLayout
         android:id="@+id/ll_tag_container"
@@ -40,13 +40,14 @@
         android:layout_height="wrap_content"/>
 
     <TextView
+        android:layout_marginStart="6dp"
+        app:layout_goneMarginStart="0dp"
         android:id="@+id/tv_name"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:ellipsize="end"
         android:includeFontPadding="false"
         android:lines="1"
-        android:paddingStart="6dp"
         android:textColor="@color/color_1a1a1a"
         android:textSize="@dimen/sp_16"
         app:layout_constraintWidth_default="wrap"
@@ -80,7 +81,6 @@
         android:id="@+id/iv_play"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="14dp"
         android:src="@drawable/icon_music_sheet_play"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toRightOf="parent"
@@ -91,7 +91,7 @@
         android:id="@+id/tv_upload_author"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
+        android:layout_marginTop="10dp"
         android:ellipsize="end"
         android:includeFontPadding="false"
         android:maxLines="1"
@@ -101,7 +101,6 @@
         app:layout_constraintHorizontal_bias="0"
         app:layout_constraintHorizontal_chainStyle="packed"
         app:layout_constraintRight_toLeftOf="@+id/ll_music_subject"
-        app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="@+id/ll_tag_container"
         app:layout_constraintTop_toBottomOf="@+id/ll_tag_container"
         tools:text="上传者:一把剑走天涯一把剑走天涯一把剑走天涯一把剑走天涯一把剑走天涯" />