Преглед на файлове

学生端个人中心UI改版

Pq преди 2 години
родител
ревизия
f23f1da1a8
променени са 24 файла, в които са добавени 446 реда и са изтрити 271 реда
  1. 2 0
      BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java
  2. 11 0
      BaseLibrary/src/main/java/com/cooleshow/base/utils/helper/WebStartHelper.java
  3. 5 0
      BaseLibrary/src/main/res/drawable/shape_effbf9_10dp.xml
  4. 3 0
      BaseLibrary/src/main/res/values/colors.xml
  5. 30 0
      student/src/main/java/com/cooleshow/student/adapter/MineItemMarkAdapter.java
  6. 1 0
      student/src/main/java/com/cooleshow/student/bean/StudentUserInfo.java
  7. 29 5
      student/src/main/java/com/cooleshow/student/ui/main/MineFragment.java
  8. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_coupon.png
  9. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_order.png
  10. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_trade_record.png
  11. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_vip_bg.png
  12. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_vip_center.png
  13. BIN
      student/src/main/res/drawable-xhdpi/icon_mine_vip_star.png
  14. BIN
      student/src/main/res/drawable-xhdpi/icon_setting.png
  15. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_coupon.png
  16. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_order.png
  17. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_trade_record.png
  18. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_vip_bg.png
  19. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_vip_center.png
  20. BIN
      student/src/main/res/drawable-xxhdpi/icon_mine_vip_star.png
  21. BIN
      student/src/main/res/drawable-xxhdpi/icon_setting.png
  22. 5 0
      student/src/main/res/drawable/shape_30c7ab_9dp.xml
  23. 340 266
      student/src/main/res/layout/fragment_mine_layout.xml
  24. 20 0
      student/src/main/res/layout/item_mine_mark_layout.xml

+ 2 - 0
BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java

@@ -137,6 +137,8 @@ public abstract class WebConstants {
     public static final String PROMOTE_PLAN_PAGE = getBaseUrlH5() + "/#/extendPlan";
     //搜索
     public static final String SEARCH_PAGE = getBaseUrlH5() + "/#/music-songbook/search";
+    //优惠券
+    public static final String COUPONS_PAGE = getBaseUrlH5() + "/#/coupons";
 
 
 }

+ 11 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/helper/WebStartHelper.java

@@ -130,4 +130,15 @@ public class WebStartHelper {
                 .withString(WebConstants.WEB_URL, WebConstants.SEARCH_PAGE)
                 .navigation();
     }
+
+
+    /**
+     * 打开优惠券
+     */
+    public  static void startCouponsPage(){
+        ARouter.getInstance()
+                .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                .withString(WebConstants.WEB_URL, WebConstants.COUPONS_PAGE)
+                .navigation();
+    }
 }

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_effbf9_10dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/color_effbf9" />
+    <corners android:radius="10dp" />
+</shape>

+ 3 - 0
BaseLibrary/src/main/res/values/colors.xml

@@ -125,6 +125,9 @@
     <color name="color_ff8901">#FF8901</color>
     <color name="color_f9f9f9">#f9f9f9</color>
     <color name="color_e3e3e3">#e3e3e3</color>
+    <color name="color_30c7ab">#30c7ab</color>
+    <color name="color_e630c7ab">#E630c7ab</color>
+    <color name="color_effbf9">#EFFBF9</color>
 
     <color name="color_25292e">#25292E</color>
     <color name="color_F8F8F8">#F8F8F8</color>

+ 30 - 0
student/src/main/java/com/cooleshow/student/adapter/MineItemMarkAdapter.java

@@ -0,0 +1,30 @@
+package com.cooleshow.student.adapter;
+
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.cooleshow.student.R;
+
+import java.util.List;
+
+/**
+ * 创建日期:2022/5/26 14:07
+ *
+ * @author Ryan
+ * 类说明:
+ */
+public class MineItemMarkAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
+
+    public MineItemMarkAdapter(List<String> data) {
+        super(R.layout.item_mine_mark_layout, data);
+    }
+
+
+    @Override
+    protected void convert(BaseViewHolder helper, String item) {
+        TextView tv_content = helper.getView(R.id.tv_content);
+        tv_content.setText(item);
+    }
+
+}

+ 1 - 0
student/src/main/java/com/cooleshow/student/bean/StudentUserInfo.java

@@ -43,6 +43,7 @@ public class StudentUserInfo implements Serializable {
     public int exerciseDays;
     public int exerciseHours;
     public int finshClassHours;
+    public int isVip;
     public String gender;
     public String heardUrl;
     public String idCardNo;

+ 29 - 5
student/src/main/java/com/cooleshow/student/ui/main/MineFragment.java

@@ -15,9 +15,12 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.base.utils.PermissionUtils;
 import com.cooleshow.base.utils.UiUtils;
+import com.cooleshow.base.utils.Utils;
+import com.cooleshow.base.utils.helper.WebStartHelper;
 import com.cooleshow.base.widgets.DialogUtil;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.ItemMarkAdapter;
+import com.cooleshow.student.adapter.MineItemMarkAdapter;
 import com.cooleshow.student.bean.StudentUserInfo;
 import com.cooleshow.student.contract.MineContract;
 import com.cooleshow.student.databinding.FragmentMineLayoutBinding;
@@ -98,7 +101,8 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                         .withString(WebConstants.WEB_URL, WebConstants.STUDENT_MEMBER_RECORD)
                         .navigation();
                 break;
-            case R.id.tv_goods_order:
+            case R.id.tv_order_title:
+            case R.id.iv_order:
                 if (UiUtils.isFastClick()) {
                     return;
                 }
@@ -108,7 +112,8 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                         .withString(WebConstants.WEB_URL, WebConstants.MALL_GOODS_ORDER)
                         .navigation();
                 break;
-            case R.id.tv_transaction_record:
+            case R.id.tv_trade_record_title:
+            case R.id.iv_trade_record:
                 if (UiUtils.isFastClick()) {
                     return;
                 }
@@ -158,6 +163,11 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
                         .build(RouterPath.BaseCenter.SCAN_QR_CODE)
                         .navigation();
                 break;
+            case R.id.iv_coupon:
+            case R.id.tv_coupon_title:
+                //优惠券
+                WebStartHelper.startCouponsPage();
+                break;
         }
     }
 
@@ -203,6 +213,7 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
 
     @Override
     protected void initView(View rootView) {
+        Utils.setHeadView(mViewBinding.viewStatusBar, getContext(), 0);
         mViewBinding.imVip.setOnClickListener(this);
         rv_mark = mViewBinding.rvMark;
         mViewBinding.ivAvatar.setOnClickListener(this);
@@ -211,8 +222,14 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
         mViewBinding.llMineHomework.setOnClickListener(this);
         mViewBinding.llMineCourse.setOnClickListener(this);
         mViewBinding.llMeterRecords.setOnClickListener(this);
-        mViewBinding.tvGoodsOrder.setOnClickListener(this);
-        mViewBinding.tvTransactionRecord.setOnClickListener(this);
+
+        mViewBinding.ivOrder.setOnClickListener(this);
+        mViewBinding.tvOrderTitle.setOnClickListener(this);
+        mViewBinding.ivTradeRecord.setOnClickListener(this);
+        mViewBinding.tvTradeRecordTitle.setOnClickListener(this);
+        mViewBinding.ivCoupon.setOnClickListener(this);
+        mViewBinding.tvCouponTitle.setOnClickListener(this);
+
         mViewBinding.tvNetworkDetection.setOnClickListener(this);
         mViewBinding.tvDeviceDetection.setOnClickListener(this);
         mViewBinding.tvHelp.setOnClickListener(this);
@@ -238,8 +255,15 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
         if (null == data) {
             return;
         }
+        //头像
+        if (data.isVip == 1) {
+            mViewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_fce2b7));
+        } else {
+            mViewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.white));
+        }
         GlideUtils.INSTANCE.loadImage(getContext(), data.heardUrl, mViewBinding.ivAvatar, R.drawable.icon_student_default_head);
         mViewBinding.tvNickname.setText(data.username);
+        mViewBinding.ivVip.setImageResource(data.isVip == 1 ? com.cooleshow.base.R.drawable.icon_vip_able : com.cooleshow.base.R.drawable.icon_vip_enable);
         mViewBinding.tvCardId.setText("学号:" + data.userId);
         mViewBinding.tvValidity.setText(data.membershipDays + "");
         mViewBinding.tvFinishedClass.setText(data.finshClassHours + "");
@@ -259,7 +283,7 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
             LinearLayoutManager manager = new LinearLayoutManager(getContext());
             manager.setOrientation(LinearLayoutManager.HORIZONTAL);
             rv_mark.setLayoutManager(manager);
-            ItemMarkAdapter itemMarkAdapter = new ItemMarkAdapter(markList);
+            MineItemMarkAdapter itemMarkAdapter = new MineItemMarkAdapter(markList);
             rv_mark.setAdapter(itemMarkAdapter);
         } else {
             rv_mark.setVisibility(View.GONE);

BIN
student/src/main/res/drawable-xhdpi/icon_mine_coupon.png


BIN
student/src/main/res/drawable-xhdpi/icon_mine_order.png


BIN
student/src/main/res/drawable-xhdpi/icon_mine_trade_record.png


BIN
student/src/main/res/drawable-xhdpi/icon_mine_vip_bg.png


BIN
student/src/main/res/drawable-xhdpi/icon_mine_vip_center.png


BIN
student/src/main/res/drawable-xhdpi/icon_mine_vip_star.png


BIN
student/src/main/res/drawable-xhdpi/icon_setting.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_coupon.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_order.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_trade_record.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_vip_bg.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_vip_center.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mine_vip_star.png


BIN
student/src/main/res/drawable-xxhdpi/icon_setting.png


+ 5 - 0
student/src/main/res/drawable/shape_30c7ab_9dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/color_30c7ab"/>
+    <corners android:radius="9dp"/>
+</shape>

+ 340 - 266
student/src/main/res/layout/fragment_mine_layout.xml

@@ -26,71 +26,118 @@
             android:layout_height="1px"
             app:layout_constraintTop_toTopOf="parent" />
 
+        <TextView
+            android:id="@+id/tv_mine_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="17dp"
+            android:layout_marginTop="5dp"
+            android:text="我的"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_20"
+            android:textStyle="bold"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingStart="4dp"
+            android:paddingTop="1dp"
+            android:paddingEnd="4dp"
+            android:paddingBottom="1dp"
+            android:text="CENTER"
+            android:textColor="@color/color_e630c7ab"
+            android:textSize="@dimen/sp_9"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_mine_title"
+            app:layout_constraintLeft_toRightOf="@+id/tv_mine_title"
+            app:layout_constraintTop_toTopOf="@+id/tv_mine_title" />
+
         <ImageView
             android:id="@+id/iv_scan"
-            android:paddingStart="12dp"
-            android:paddingBottom="12dp"
-            android:paddingTop="12dp"
-            app:layout_constraintRight_toLeftOf="@+id/iv_setting"
-            app:layout_constraintBottom_toBottomOf="@+id/iv_setting"
-            app:layout_constraintTop_toTopOf="@+id/iv_setting"
-            android:src="@drawable/icon_scan"
             android:layout_width="wrap_content"
-            android:layout_height="wrap_content"/>
+            android:layout_height="wrap_content"
+            android:padding="10dp"
+            android:src="@drawable/icon_scan"
+            app:layout_constraintBottom_toBottomOf="@+id/iv_setting"
+            app:layout_constraintRight_toLeftOf="@+id/iv_setting"
+            app:layout_constraintTop_toTopOf="@+id/iv_setting" />
 
         <ImageView
             android:id="@+id/iv_setting"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/dp_43"
-            android:layout_marginRight="@dimen/dp_7"
-            android:padding="15dp"
+            android:layout_marginEnd="6dp"
+            android:padding="10dp"
             android:src="@drawable/icon_setting"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_mine_title"
             app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
+            app:layout_constraintTop_toTopOf="@+id/tv_mine_title" />
 
         <de.hdodenhof.circleimageview.CircleImageView
             android:id="@+id/iv_avatar"
-            android:layout_width="@dimen/dp_62"
-            android:layout_height="@dimen/dp_62"
-            android:layout_marginStart="@dimen/dp_24"
-            android:layout_marginTop="@dimen/dp_82"
+            android:layout_width="@dimen/dp_61"
+            android:layout_height="@dimen/dp_61"
+            android:layout_marginTop="@dimen/dp_18"
+            android:layout_marginEnd="28dp"
             android:src="@drawable/icon_student_default_head"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
+            app:civ_border_color="@color/white"
+            app:civ_border_width="2dp"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_mine_title" />
+
+        <View
+            android:id="@+id/vip_help_view"
+            android:layout_width="1px"
+            android:layout_height="1px"
+            app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+            app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+            app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
+
+        <ImageView
+            android:id="@+id/iv_vip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="6dp"
+            android:src="@drawable/icon_vip_enable"
+            app:layout_constraintBottom_toBottomOf="@+id/vip_help_view"
+            app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+            app:layout_constraintRight_toRightOf="@+id/iv_avatar"
+            app:layout_constraintTop_toTopOf="@+id/vip_help_view" />
 
         <TextView
             android:id="@+id/tv_nickname"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginLeft="14dp"
-            android:layout_marginTop="10dp"
+            android:layout_marginLeft="28dp"
+            android:layout_marginTop="12dp"
             android:textColor="@color/color_333333"
-            android:textSize="@dimen/sp_18"
+            android:textSize="@dimen/sp_20"
             android:textStyle="bold"
-            app:layout_constraintLeft_toRightOf="@+id/iv_avatar"
+            app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toTopOf="@+id/iv_avatar"
-            tools:text="张天乐" />
+            tools:text="有把40米大刀" />
 
         <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rv_mark"
             android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_height="20dp"
             android:layout_marginLeft="@dimen/dp_11"
-            app:layout_constraintLeft_toRightOf="@+id/tv_nickname"
-            app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
-            app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
-
+            app:layout_constraintBottom_toBottomOf="@+id/ll_user_id"
+            app:layout_constraintLeft_toRightOf="@+id/ll_user_id"
+            app:layout_constraintTop_toTopOf="@+id/ll_user_id" />
 
         <LinearLayout
+            android:id="@+id/ll_user_id"
             android:layout_width="wrap_content"
             android:layout_height="@dimen/dp_20"
-            android:layout_marginLeft="12dp"
-            android:layout_marginBottom="5dp"
-            android:background="@drawable/bg_white_10dp"
+            android:layout_marginTop="8dp"
             android:orientation="horizontal"
             app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
-            app:layout_constraintLeft_toRightOf="@+id/iv_avatar">
+            app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
+            app:layout_constraintTop_toBottomOf="@+id/tv_nickname">
 
             <ImageView
                 android:layout_width="@dimen/dp_13"
@@ -116,11 +163,11 @@
             android:layout_width="match_parent"
             android:layout_height="@dimen/dp_82"
             android:layout_marginLeft="21dp"
-            android:layout_marginTop="15dp"
+            android:layout_marginTop="20dp"
             android:layout_marginRight="21dp"
             android:background="@drawable/icon_mine_vip_bg"
             app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/iv_avatar" />
+            app:layout_constraintTop_toBottomOf="@+id/ll_user_id" />
 
 
         <View
@@ -140,7 +187,7 @@
             android:layout_height="wrap_content"
             android:layout_marginLeft="8dp"
             android:text="会员有效期剩余"
-            android:textColor="@color/color_fed271"
+            android:textColor="@color/color_7f6b3f"
             android:textSize="@dimen/sp_14"
             app:layout_constraintBottom_toBottomOf="@+id/view_vip_star"
             app:layout_constraintLeft_toRightOf="@+id/view_vip_star"
@@ -150,7 +197,7 @@
             android:id="@+id/tv_validity"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textColor="@color/color_fed271"
+            android:textColor="@color/color_7f6b3f"
             android:textSize="@dimen/sp_14"
             android:textStyle="bold"
             app:layout_constraintBottom_toBottomOf="@+id/view_vip_star"
@@ -162,7 +209,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="天"
-            android:textColor="@color/color_fed271"
+            android:textColor="@color/color_7f6b3f"
             android:textSize="@dimen/sp_14"
             app:layout_constraintBottom_toBottomOf="@+id/view_vip_star"
             app:layout_constraintLeft_toRightOf="@+id/tv_validity"
@@ -170,9 +217,9 @@
 
         <ImageView
             android:id="@+id/im_vip"
-            android:layout_width="@dimen/dp_75"
-            android:layout_height="@dimen/dp_20"
-            android:layout_marginTop="16dp"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="12dp"
             android:layout_marginRight="16dp"
             android:background="@drawable/icon_mine_vip_center"
             app:layout_constraintRight_toRightOf="@+id/view_vip_bg"
@@ -279,131 +326,258 @@
             </LinearLayout>
         </LinearLayout>
 
+
         <LinearLayout
             android:id="@+id/ll_menu"
             android:layout_width="match_parent"
-            android:layout_height="@dimen/dp_93"
-            android:layout_marginLeft="@dimen/dp_12"
-            android:layout_marginTop="@dimen/dp_10"
-            android:layout_marginRight="@dimen/dp_12"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="14dp"
+            android:layout_marginTop="@dimen/dp_12"
+            android:layout_marginEnd="14dp"
             android:background="@drawable/bg_white_10dp"
-            android:orientation="horizontal"
+            android:orientation="vertical"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/ll_number">
 
-            <LinearLayout
-                android:id="@+id/ll_mine_course"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:orientation="vertical">
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="14dp"
+                android:layout_marginTop="14dp"
+                android:text="学习工具"
+                android:textColor="@color/color_333333"
+                android:textSize="@dimen/sp_16"
+                android:textStyle="bold" />
 
-                <ImageView
-                    android:layout_width="@dimen/dp_33"
-                    android:layout_height="@dimen/dp_35"
-                    android:background="@drawable/icon_mine_course" />
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/dp_93"
+                android:layout_marginTop="4dp"
+                android:layout_marginRight="@dimen/dp_12"
+                android:orientation="horizontal">
+
+                <LinearLayout
+                    android:id="@+id/ll_mine_course"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                    <ImageView
+                        android:layout_width="@dimen/dp_33"
+                        android:layout_height="@dimen/dp_35"
+                        android:background="@drawable/icon_mine_course" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="9dp"
+                        android:text="我的课程"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_11" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/ll_mine_homework"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                    <ImageView
+                        android:layout_width="@dimen/dp_33"
+                        android:layout_height="@dimen/dp_35"
+                        android:background="@drawable/icon_mine_homework" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="9dp"
+                        android:text="我的作业"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_11" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/ll_mine_score"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                    <ImageView
+                        android:layout_width="@dimen/dp_33"
+                        android:layout_height="@dimen/dp_35"
+                        android:background="@drawable/icon_mine_score" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="9dp"
+                        android:text="我的乐谱"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_11" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/ll_meter_records"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                    <ImageView
+                        android:layout_width="@dimen/dp_33"
+                        android:layout_height="@dimen/dp_35"
+                        android:background="@drawable/icon_mine_meter_records" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="9dp"
+                        android:text="训练统计"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_11" />
+                </LinearLayout>
+
+                <LinearLayout
+                    android:id="@+id/ll_goods_order"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_marginRight="20dp"
+                    android:layout_weight="1"
+                    android:gravity="center"
+                    android:orientation="vertical"
+                    android:visibility="gone">
+
+                    <ImageView
+                        android:layout_width="@dimen/dp_33"
+                        android:layout_height="@dimen/dp_35"
+                        android:background="@drawable/icon_mine_goods_order" />
+
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="9dp"
+                        android:text="商品订单"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_11" />
+                </LinearLayout>
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="9dp"
-                    android:text="我的课程"
-                    android:textColor="@color/color_333333"
-                    android:textSize="@dimen/sp_11" />
             </LinearLayout>
 
-            <LinearLayout
-                android:id="@+id/ll_mine_homework"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:orientation="vertical">
+        </LinearLayout>
 
-                <ImageView
-                    android:layout_width="@dimen/dp_33"
-                    android:layout_height="@dimen/dp_35"
-                    android:background="@drawable/icon_mine_homework" />
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="9dp"
-                    android:text="我的作业"
-                    android:textColor="@color/color_333333"
-                    android:textSize="@dimen/sp_11" />
-            </LinearLayout>
+        <View
+            android:id="@+id/view_serve_tools"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_marginStart="12dp"
+            android:layout_marginTop="12dp"
+            android:layout_marginEnd="12dp"
+            android:background="@drawable/shape_10dp_white"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_order_title"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/ll_menu" />
 
-            <LinearLayout
-                android:id="@+id/ll_mine_score"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:orientation="vertical">
+        <TextView
+            android:id="@+id/tv_serve_tools_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="14dp"
+            android:layout_marginTop="14dp"
+            android:text="服务工具"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_16"
+            android:textStyle="bold"
+            app:layout_constraintLeft_toLeftOf="@+id/view_serve_tools"
+            app:layout_constraintTop_toTopOf="@+id/view_serve_tools" />
 
-                <ImageView
-                    android:layout_width="@dimen/dp_33"
-                    android:layout_height="@dimen/dp_35"
-                    android:background="@drawable/icon_mine_score" />
+        <ImageView
+            android:id="@+id/iv_order"
+            android:layout_width="42dp"
+            android:layout_height="42dp"
+            android:layout_marginStart="24dp"
+            android:layout_marginTop="14dp"
+            android:src="@drawable/icon_mine_order"
+            app:layout_constraintHorizontal_chainStyle="spread_inside"
+            app:layout_constraintLeft_toLeftOf="@+id/view_serve_tools"
+            app:layout_constraintRight_toLeftOf="@+id/iv_trade_record"
+            app:layout_constraintTop_toBottomOf="@+id/tv_serve_tools_title" />
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="9dp"
-                    android:text="我的乐谱"
-                    android:textColor="@color/color_333333"
-                    android:textSize="@dimen/sp_11" />
-            </LinearLayout>
+        <ImageView
+            android:id="@+id/iv_trade_record"
+            android:layout_width="42dp"
+            android:layout_height="42dp"
+            android:src="@drawable/icon_mine_trade_record"
+            app:layout_constraintLeft_toRightOf="@+id/iv_order"
+            app:layout_constraintRight_toLeftOf="@+id/iv_coupon"
+            app:layout_constraintTop_toTopOf="@+id/iv_order" />
 
-            <LinearLayout
-                android:id="@+id/ll_meter_records"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:orientation="vertical">
+        <ImageView
+            android:id="@+id/iv_coupon"
+            android:layout_width="42dp"
+            android:layout_height="42dp"
+            android:src="@drawable/icon_mine_coupon"
+            app:layout_constraintLeft_toRightOf="@+id/iv_trade_record"
+            app:layout_constraintRight_toLeftOf="@+id/iv_other"
+            app:layout_constraintTop_toTopOf="@+id/iv_order" />
 
-                <ImageView
-                    android:layout_width="@dimen/dp_33"
-                    android:layout_height="@dimen/dp_35"
-                    android:background="@drawable/icon_mine_meter_records" />
+        <ImageView
+            android:id="@+id/iv_other"
+            android:layout_width="42dp"
+            android:layout_height="42dp"
+            android:layout_marginEnd="24dp"
+            android:visibility="invisible"
+            app:layout_constraintLeft_toRightOf="@+id/iv_coupon"
+            app:layout_constraintRight_toRightOf="@+id/view_serve_tools"
+            app:layout_constraintTop_toTopOf="@+id/iv_order" />
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="9dp"
-                    android:text="训练统计"
-                    android:textColor="@color/color_333333"
-                    android:textSize="@dimen/sp_11" />
-            </LinearLayout>
+        <TextView
+            android:id="@+id/tv_order_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="7dp"
+            android:paddingBottom="20dp"
+            android:text="商品订单"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_12"
+            app:layout_constraintLeft_toLeftOf="@+id/iv_order"
+            app:layout_constraintRight_toRightOf="@+id/iv_order"
+            app:layout_constraintTop_toBottomOf="@+id/iv_order" />
 
-            <LinearLayout
-                android:visibility="gone"
-                android:id="@+id/ll_goods_order"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_marginRight="20dp"
-                android:layout_weight="1"
-                android:gravity="center"
-                android:orientation="vertical">
+        <TextView
+            android:id="@+id/tv_trade_record_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="交易记录"
+            android:paddingTop="7dp"
+            android:paddingBottom="20dp"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_12"
+            app:layout_constraintLeft_toLeftOf="@+id/iv_trade_record"
+            app:layout_constraintRight_toRightOf="@+id/iv_trade_record"
+            app:layout_constraintTop_toBottomOf="@+id/iv_trade_record" />
 
-                <ImageView
-                    android:layout_width="@dimen/dp_33"
-                    android:layout_height="@dimen/dp_35"
-                    android:background="@drawable/icon_mine_goods_order" />
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="9dp"
-                    android:text="商品订单"
-                    android:textColor="@color/color_333333"
-                    android:textSize="@dimen/sp_11" />
-            </LinearLayout>
+        <TextView
+            android:id="@+id/tv_coupon_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="7dp"
+            android:paddingBottom="20dp"
+            android:text="优惠券"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_12"
+            app:layout_constraintLeft_toLeftOf="@+id/iv_coupon"
+            app:layout_constraintRight_toRightOf="@+id/iv_coupon"
+            app:layout_constraintTop_toBottomOf="@+id/iv_coupon" />
 
-        </LinearLayout>
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
@@ -413,100 +587,28 @@
             android:layout_marginRight="@dimen/dp_12"
             android:background="@drawable/bg_white_10dp"
             app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/ll_menu">
-
-            <TextView
-                android:id="@+id/tv_goods_order"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/dp_45"
-                android:layout_marginTop="@dimen/dp_15"
-                android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
-                android:text="商品订单"
-                android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-
-            <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_goods_order"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_goods_order"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_goods_order"
-                app:layout_constraintTop_toTopOf="@+id/tv_goods_order" />
-
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
-                android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_goods_order"
-                app:layout_constraintRight_toRightOf="@+id/tv_goods_order"
-                app:layout_constraintTop_toTopOf="@+id/tv_goods_order" />
-
-            <TextView
-                android:id="@+id/tv_transaction_record"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/dp_45"
-                android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
-                android:text="交易记录"
-                android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tv_goods_order" />
-
-            <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_mine_transaction_record"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_transaction_record"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_transaction_record"
-                app:layout_constraintTop_toTopOf="@+id/tv_transaction_record" />
-
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
-                android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_transaction_record"
-                app:layout_constraintRight_toRightOf="@+id/tv_transaction_record"
-                app:layout_constraintTop_toTopOf="@+id/tv_transaction_record" />
+            app:layout_constraintTop_toBottomOf="@+id/view_serve_tools">
 
 
             <TextView
                 android:id="@+id/tv_network_detection"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/dp_45"
+                android:layout_marginTop="10dp"
                 android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
+                android:paddingLeft="@dimen/dp_15"
                 android:text="网络检测"
                 android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
+                android:textSize="@dimen/sp_16"
                 app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tv_transaction_record" />
+                app:layout_constraintTop_toTopOf="parent" />
 
 
             <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_mine_network_detection"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_network_detection"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_network_detection"
-                app:layout_constraintTop_toTopOf="@+id/tv_network_detection" />
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
+                android:background="@drawable/icon_arrow_right2"
                 app:layout_constraintBottom_toBottomOf="@+id/tv_network_detection"
                 app:layout_constraintRight_toRightOf="@+id/tv_network_detection"
                 app:layout_constraintTop_toTopOf="@+id/tv_network_detection" />
@@ -516,28 +618,19 @@
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/dp_45"
                 android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
+                android:paddingLeft="@dimen/dp_15"
                 android:text="设备检测"
                 android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
+                android:textSize="@dimen/sp_16"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/tv_network_detection" />
 
 
             <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_mine_device_detection"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_device_detection"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_device_detection"
-                app:layout_constraintTop_toTopOf="@+id/tv_device_detection" />
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
+                android:background="@drawable/icon_arrow_right2"
                 app:layout_constraintBottom_toBottomOf="@+id/tv_device_detection"
                 app:layout_constraintRight_toRightOf="@+id/tv_device_detection"
                 app:layout_constraintTop_toTopOf="@+id/tv_device_detection" />
@@ -548,28 +641,19 @@
                 android:layout_height="@dimen/dp_45"
                 android:layout_marginBottom="15dp"
                 android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
+                android:paddingLeft="@dimen/dp_15"
                 android:text="帮助中心"
                 android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
+                android:textSize="@dimen/sp_16"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/tv_device_detection" />
 
 
             <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_help_center"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_help"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_help"
-                app:layout_constraintTop_toTopOf="@+id/tv_help" />
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
+                android:background="@drawable/icon_arrow_right2"
                 app:layout_constraintBottom_toBottomOf="@+id/tv_help"
                 app:layout_constraintRight_toRightOf="@+id/tv_help"
                 app:layout_constraintTop_toTopOf="@+id/tv_help" />
@@ -579,31 +663,21 @@
                 android:id="@+id/tv_feedback"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/dp_45"
-                android:layout_marginBottom="15dp"
+                android:layout_marginBottom="10dp"
                 android:gravity="center_vertical"
-                android:paddingLeft="@dimen/dp_59"
+                android:paddingLeft="@dimen/dp_15"
                 android:text="意见反馈"
                 android:textColor="@color/color_333333"
-                android:textSize="@dimen/sp_14"
+                android:textSize="@dimen/sp_16"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/tv_help" />
 
-
             <ImageView
-                android:layout_width="@dimen/dp_22"
-                android:layout_height="@dimen/dp_22"
-                android:layout_marginLeft="@dimen/dp_24"
-                android:background="@drawable/icon_mine_help"
-                app:layout_constraintBottom_toBottomOf="@+id/tv_feedback"
-                app:layout_constraintLeft_toLeftOf="@+id/tv_feedback"
-                app:layout_constraintTop_toTopOf="@+id/tv_feedback" />
-
-            <ImageView
-                android:layout_width="@dimen/dp_14"
-                android:layout_height="@dimen/dp_14"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:layout_marginRight="@dimen/dp_22"
-                android:background="@drawable/icon_next_right"
+                android:background="@drawable/icon_arrow_right2"
                 app:layout_constraintBottom_toBottomOf="@+id/tv_feedback"
                 app:layout_constraintRight_toRightOf="@+id/tv_feedback"
                 app:layout_constraintTop_toTopOf="@+id/tv_feedback" />

+ 20 - 0
student/src/main/res/layout/item_mine_mark_layout.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <TextView
+        android:id="@+id/tv_content"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_20"
+        android:layout_marginRight="6dp"
+        android:gravity="center_vertical"
+        android:background="@drawable/shape_effbf9_10dp"
+        android:paddingLeft="7dp"
+        android:paddingRight="7dp"
+        android:text="竖笛"
+        android:textColor="@color/color_e630c7ab"
+        android:textSize="@dimen/sp_10"
+        />
+
+</RelativeLayout>