瀏覽代碼

修改老师端个人主页样式

Pq 8 月之前
父節點
當前提交
e5a84e9d09
共有 21 個文件被更改,包括 511 次插入39 次删除
  1. 7 0
      BaseLibrary/src/main/res/drawable/bg_white_6dp.xml
  2. 5 0
      BaseLibrary/src/main/res/drawable/shape_33ffffff_10dp.xml
  3. 8 0
      BaseLibrary/src/main/res/drawable/shape_border_1dp_white_14dp.xml
  4. 5 0
      BaseLibrary/src/main/res/drawable/shape_f8f9fc_top_10dp.xml
  5. 4 0
      BaseLibrary/src/main/res/values/colors.xml
  6. 22 39
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java
  7. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_cert_completed.png
  8. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_edit_user_style.png
  9. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_go_cert.png
  10. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_good_at_music_subject.png
  11. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_homepage_user_fans_group.png
  12. 二進制
      teacher/src/main/res/drawable-xhdpi/icon_homepage_user_style.png
  13. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_cert_completed.png
  14. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_edit_user_style.png
  15. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_go_cert.png
  16. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_good_at_music_subject.png
  17. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_homepage_user_fans_group.png
  18. 二進制
      teacher/src/main/res/drawable-xxhdpi/icon_homepage_user_style.png
  19. 7 0
      teacher/src/main/res/drawable/shape_homepage_fans_group_bg.xml
  20. 7 0
      teacher/src/main/res/drawable/shape_homepage_user_style_bg.xml
  21. 446 0
      teacher/src/main/res/layout/activity_home_page_new_layout.xml

+ 7 - 0
BaseLibrary/src/main/res/drawable/bg_white_6dp.xml

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

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_33ffffff_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_33ffffff"/>
+    <corners android:radius="10dp"/>
+</shape>

+ 8 - 0
BaseLibrary/src/main/res/drawable/shape_border_1dp_white_14dp.xml

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

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_f8f9fc_top_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_f8f9fc"/>
+    <corners android:topRightRadius="10dp" android:topLeftRadius="10dp"/>
+</shape>

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

@@ -218,4 +218,8 @@
     <color name="color_ff5151">#FF5151</color>
     <color name="color_131415">#131415</color>
     <color name="color_f73f3b">#F73F3B</color>
+    <color name="color_99ffffff">#99ffffff</color>
+    <color name="color_66ffffff">#66ffffff</color>
+    <color name="color_33ffffff">#33ffffff</color>
+    <color name="color_1affffff">#1affffff</color>
 </resources>

+ 22 - 39
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java

@@ -26,6 +26,7 @@ import com.cooleshow.teacher.adapter.HomePagerAdapter;
 import com.cooleshow.teacher.constants.TeacherInfoConstants;
 import com.cooleshow.teacher.contract.HomePageContract;
 import com.cooleshow.teacher.databinding.ActivityHomePageLayoutBinding;
+import com.cooleshow.teacher.databinding.ActivityHomePageNewLayoutBinding;
 import com.cooleshow.teacher.presenter.homePage.HomePagePresenter;
 import com.cooleshow.teacher.widgets.AppBarLayoutStateChangeListener;
 import com.cooleshow.teacher.widgets.dialog.BadgeDesDialog;
@@ -48,7 +49,7 @@ import androidx.fragment.app.Fragment;
  * 个人主页
  */
 @Route(path = RouterPath.MineCenter.HOME_PAGE)
-public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBinding, HomePagePresenter> implements HomePageContract.HomePageView, View.OnClickListener {
+public class HomePageActivity extends BaseMVPActivity<ActivityHomePageNewLayoutBinding, HomePagePresenter> implements HomePageContract.HomePageView, View.OnClickListener {
     public static final String[] titles = new String[]{"个人风采", "陪练课", "直播课", "视频课", "乐谱"};
     public static final int EXPAND_MODE = 1;
     public static final int COLLAP_MODE = 2;
@@ -58,7 +59,6 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
     private int titleStyleMode = 1;//根据折叠展开状态控制title样式
 
     private AppBarLayoutStateChangeListener.State lastState = AppBarLayoutStateChangeListener.State.EXPANDED;
-    private TagAdapter mTagAdapter;
 
     @Override
     protected void initView() {
@@ -66,7 +66,6 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
         viewBinding.tvTitle.setText("我的主页");
         viewBinding.toolbar.setNavigationIcon(com.cooleshow.base.R.drawable.icon_back_arrow_white);
         viewBinding.ivBack.setOnClickListener(this);
-        viewBinding.llBadge.setOnClickListener(this);
         viewBinding.tvEdit.setOnClickListener(this);
         viewBinding.toolbar.setNavigationOnClickListener(new View.OnClickListener() {
             @Override
@@ -123,14 +122,6 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
     @Override
     public void initData() {
         super.initData();
-        mTagAdapter = new TagAdapter<String>(subjectNames) {
-            @Override
-            public View getView(FlowLayout parent, int position, String s) {
-                View subjectView = createSubjectView(parent, s);
-                return subjectView;
-            }
-        };
-        viewBinding.llSubjectContainer.setAdapter(mTagAdapter);
 
         TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(viewBinding.tabLayout, viewBinding.viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
             @Override
@@ -183,8 +174,8 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
     }
 
     @Override
-    protected ActivityHomePageLayoutBinding getLayoutView() {
-        return ActivityHomePageLayoutBinding.inflate(getLayoutInflater());
+    protected ActivityHomePageNewLayoutBinding getLayoutView() {
+        return ActivityHomePageNewLayoutBinding.inflate(getLayoutInflater());
     }
 
     @Override
@@ -253,38 +244,38 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
         if (info.starGrade > 0) {
             viewBinding.ratingBar.setVisibility(View.VISIBLE);
             viewBinding.ratingBar.setRating(info.starGrade);
-            viewBinding.tvNoScore.setVisibility(View.GONE);
-        } else {
-            viewBinding.ratingBar.setVisibility(View.VISIBLE);
-            viewBinding.tvNoScore.setVisibility(View.GONE);
         }
-        //徽章信息
-        viewBinding.llBadge.setVipIcon(info.isVip == 1);
-        viewBinding.llBadge.setData(info.tag);
         //粉丝数
         viewBinding.tvFansNum.setText(info.fansNum);
         //已上课时数
         viewBinding.tvCourseNumCompleted.setText(info.expTime);
-        //未上课时数
-        viewBinding.tvCourseNumNotStart.setText(info.unExpTime);
         //vip相关
         handleVipStyle(info);
         GlideUtils.INSTANCE.loadImage(this, info.heardUrl, viewBinding.ivAvatar, R.drawable.icon_teacher_default_head);
         GlideUtils.INSTANCE.loadImageWhitVague(this, info.heardUrl, viewBinding.ivHeaderBg, R.drawable.bg_home_page_header);
         //学历认证 教资认证标签
-        updateCertStatusUI(info.degreeFlag, info.teacherFlag);
+        updateCertStatusUI(info.entryStatus);
         //昵称
         viewBinding.tvNickname.setText(info.username);
         //subjectName
         try {
             subjectNames.clear();
             subjectNames.addAll(Arrays.asList(UiUtils.splitSubjectName(info.subjectName)));
-            mTagAdapter.notifyDataChanged();
+            addTagView();
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+    private void addTagView() {
+        viewBinding.llSubjectContainer.removeAllViews();
+        for (int i = 0; i < subjectNames.size(); i++) {
+            String s = subjectNames.get(i);
+            View subjectView = createSubjectView(viewBinding.llSubjectContainer, s);
+            viewBinding.llSubjectContainer.addView(subjectView);
+        }
+    }
+
     private void handleVipStyle(TeacherUserInfo userInfo) {
         try {
             TeacherUserInfo.VipBean userVip = userInfo.getUserVip();
@@ -308,19 +299,11 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
         }
     }
 
-    private void updateCertStatusUI(int degreeFlag, int teacherFlag) {
-        //学历认证
-        if (degreeFlag == 1) {
-            viewBinding.ivEduCert.setVisibility(View.VISIBLE);
-        } else {
-            viewBinding.ivEduCert.setVisibility(View.GONE);
-        }
-
-        //教资认证
-        if (teacherFlag == 1) {
-            viewBinding.ivTeacherCert.setVisibility(View.VISIBLE);
-        } else {
-            viewBinding.ivTeacherCert.setVisibility(View.GONE);
+    private void updateCertStatusUI(String certStatus) {
+        if (TextUtils.equals(certStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
+            viewBinding.ivCertStatus.setImageResource(R.drawable.icon_cert_completed);
+        }else{
+            viewBinding.ivCertStatus.setImageResource(R.drawable.icon_go_cert);
         }
     }
 
@@ -329,8 +312,8 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
     private View createSubjectView(ViewGroup viewGroup, String text) {
         TextView textView = (TextView) LayoutInflater.from(this).inflate(R.layout.view_homepage_subject_item_layout, viewGroup, false);
         textView.setText(text);
-        textView.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
-        textView.setBackgroundResource(com.cooleshow.base.R.drawable.shape_effbf9_9dp);
+        textView.setTextColor(getResources().getColor(com.cooleshow.base.R.color.white));
+        textView.setBackgroundResource(com.cooleshow.base.R.drawable.shape_33ffffff_10dp);
         return textView;
     }
 }

二進制
teacher/src/main/res/drawable-xhdpi/icon_cert_completed.png


二進制
teacher/src/main/res/drawable-xhdpi/icon_edit_user_style.png


二進制
teacher/src/main/res/drawable-xhdpi/icon_go_cert.png


二進制
teacher/src/main/res/drawable-xhdpi/icon_good_at_music_subject.png


二進制
teacher/src/main/res/drawable-xhdpi/icon_homepage_user_fans_group.png


二進制
teacher/src/main/res/drawable-xhdpi/icon_homepage_user_style.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_cert_completed.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_edit_user_style.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_go_cert.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_good_at_music_subject.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_homepage_user_fans_group.png


二進制
teacher/src/main/res/drawable-xxhdpi/icon_homepage_user_style.png


+ 7 - 0
teacher/src/main/res/drawable/shape_homepage_fans_group_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <stroke android:color="#FFEBE5" android:width="1dp"/>
+    <corners android:radius="6dp"/>
+    <gradient android:startColor="#08FFFFFF"
+        android:endColor="#12D6605C"/>
+</shape>

+ 7 - 0
teacher/src/main/res/drawable/shape_homepage_user_style_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <stroke android:color="#E3EFED" android:width="1dp"/>
+    <corners android:radius="6dp"/>
+    <gradient android:startColor="#08FFFFFF"
+        android:endColor="#125CD6D6"/>
+</shape>

+ 446 - 0
teacher/src/main/res/layout/activity_home_page_new_layout.xml

@@ -0,0 +1,446 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
+
+    <com.google.android.material.appbar.AppBarLayout
+        android:layout_width="match_parent"
+        android:id="@+id/app_bar_layout"
+        android:layout_height="wrap_content"
+        android:background="@color/transparent"
+        android:fitsSystemWindows="true"
+        android:theme="@style/AppTheme.AppBarOverlay">
+
+        <com.google.android.material.appbar.CollapsingToolbarLayout
+            android:id="@+id/collapsing_toolbar_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:fitsSystemWindows="true"
+            android:paddingBottom="0dp"
+            app:contentScrim="@color/transparent"
+            app:titleEnabled="false"
+            app:scrimAnimationDuration="10"
+            app:statusBarScrim="@color/transparent"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
+
+            <FrameLayout
+                android:fitsSystemWindows="true"
+                app:layout_collapseMode="parallax"
+                android:layout_width="match_parent"
+                android:layout_height="243dp">
+
+                <ImageView
+                    android:id="@+id/iv_header_bg"
+                    android:layout_width="match_parent"
+                    android:layout_height="243dp"
+                    android:adjustViewBounds="true"
+                    android:scaleType="centerCrop"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <View
+                    android:layout_width="match_parent"
+                    android:layout_height="243dp"
+                    android:background="@color/color_40000000"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_header_bg"
+                    app:layout_constraintLeft_toLeftOf="@+id/iv_header_bg"
+                    app:layout_constraintRight_toRightOf="@+id/iv_header_bg"
+                    app:layout_constraintTop_toTopOf="@+id/iv_header_bg" />
+
+            </FrameLayout>
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                app:layout_collapseMode="parallax">
+
+                <View
+                    android:id="@+id/view_status_bar"
+                    android:layout_width="match_parent"
+                    android:layout_height="1px"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <ImageView
+                    android:id="@+id/iv_back"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginTop="9dp"
+                    android:padding="10dp"
+                    android:src="@drawable/icon_back_arrow_white"
+                    android:visibility="invisible"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
+
+                <View
+                    android:id="@+id/view_top_bg"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    android:layout_marginStart="14dp"
+                    android:layout_marginTop="53dp"
+                    android:layout_marginEnd="14dp"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_top_header_bottom_line"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_back" />
+
+                <View
+                    android:id="@+id/view_top_header_bottom_line"
+                    android:layout_width="1px"
+                    android:layout_height="1px"
+                    android:layout_marginTop="16dp"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/tv_fans_title" />
+
+                <de.hdodenhof.circleimageview.CircleImageView
+                    android:id="@+id/iv_avatar"
+                    android:layout_width="74dp"
+                    android:layout_height="74dp"
+                    android:layout_marginStart="13dp"
+                    android:layout_marginTop="21dp"
+                    android:src="@drawable/icon_teacher_default_head"
+                    app:civ_border_color="@color/white"
+                    app:civ_border_width="1dp"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_back" />
+
+                <View
+                    android:id="@+id/view_vip_help_line"
+                    android:layout_width="1px"
+                    android:layout_height="1px"
+                    android:layout_marginEnd="25dp"
+                    android:layout_marginBottom="22dp"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+                    app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
+
+                <ImageView
+                    android:id="@+id/iv_vip"
+                    android:layout_width="37dp"
+                    android:layout_height="18dp"
+                    app:layout_constraintLeft_toRightOf="@+id/view_vip_help_line"
+                    app:layout_constraintTop_toBottomOf="@+id/view_vip_help_line" />
+
+                <TextView
+                    android:maxLines="1"
+                    android:ellipsize="end"
+                    app:layout_constraintHorizontal_bias="0"
+                    app:layout_constraintWidth_default="wrap"
+                    app:layout_constraintRight_toLeftOf="@+id/rating_bar"
+                    app:layout_constraintBottom_toTopOf="@+id/iv_cert_status"
+                    android:id="@+id/tv_nickname"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="20dp"
+                    android:includeFontPadding="false"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_22"
+                    android:textStyle="bold"
+                    app:layout_constraintHorizontal_chainStyle="packed"
+                    app:layout_constraintLeft_toRightOf="@+id/iv_avatar"
+                    app:layout_constraintTop_toTopOf="@+id/iv_avatar"
+                    app:layout_constraintVertical_chainStyle="packed"
+                    tools:text="游客12e3d游客12e3d" />
+
+                <ImageView
+                    android:id="@+id/iv_edu_cert"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="8dp"
+                    android:src="@drawable/icon_education_cert"
+                    android:visibility="gone"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_nickname"
+                    app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
+
+                <ImageView
+                    android:id="@+id/iv_teacher_cert"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="6dp"
+                    android:src="@drawable/icon_teacher_cert"
+                    android:visibility="gone"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
+                    app:layout_constraintLeft_toRightOf="@+id/iv_edu_cert"
+                    app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
+
+
+
+                <RatingBar
+                    android:layout_marginStart="8dp"
+                    android:layout_marginEnd="29dp"
+                    android:id="@+id/rating_bar"
+                    style="@style/HomeRatingBar"
+                    android:layout_width="wrap_content"
+                    android:layout_height="19dp"
+                    android:isIndicator="true"
+                    android:numStars="5"
+                    android:rating="0"
+                    android:stepSize="1"
+                    android:visibility="visible"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_nickname"
+                    app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
+
+                <ImageView
+                    android:id="@+id/iv_subject"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginTop="21dp"
+                    android:src="@drawable/icon_good_at_music_subject"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_avatar" />
+
+
+                <HorizontalScrollView
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginRight="@dimen/dp_30"
+                    android:orientation="horizontal"
+                    android:paddingStart="10dp"
+                    android:scrollbars="none"
+                    android:overScrollMode="never"
+                    app:layout_constraintLeft_toRightOf="@+id/iv_subject"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toTopOf="@+id/iv_subject" >
+                    <LinearLayout
+                        android:orientation="horizontal"
+                        android:id="@+id/ll_subject_container"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"/>
+                </HorizontalScrollView>
+
+                <ImageView
+                    android:layout_marginTop="11dp"
+                    android:id="@+id/iv_cert_status"
+                    app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+                    app:layout_constraintTop_toBottomOf="@+id/tv_nickname"
+                    android:src="@drawable/icon_go_cert"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
+
+                <TextView
+                    android:id="@+id/tv_fans_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="8dp"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="粉丝"
+                    android:textColor="@color/color_99ffffff"
+                    android:textSize="@dimen/sp_13"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_cert_status"
+                    app:layout_constraintLeft_toRightOf="@+id/iv_cert_status"
+                    app:layout_constraintTop_toTopOf="@+id/iv_cert_status" />
+
+                <View
+                    android:layout_marginStart="10dp"
+                    android:id="@+id/view_line1"
+                    android:layout_width="1dp"
+                    android:layout_height="12dp"
+                    android:background="@color/color_66ffffff"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_fans_num"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_fans_num"
+                    app:layout_constraintTop_toTopOf="@+id/tv_fans_num" />
+
+                <TextView
+                    android:paddingStart="10dp"
+                    android:id="@+id/tv_course_num_completed_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="已上课时"
+                    android:textColor="@color/color_99ffffff"
+                    android:textSize="@dimen/sp_13"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_fans_title"
+                    app:layout_constraintLeft_toRightOf="@+id/view_line1"
+                    app:layout_constraintTop_toTopOf="@+id/tv_fans_title" />
+
+
+
+
+                <TextView
+                    android:paddingStart="6dp"
+                    android:id="@+id/tv_fans_num"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:text="0"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_15"
+                    android:textStyle="bold"
+                    app:layout_constraintTop_toTopOf="@+id/tv_fans_title"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_fans_title"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_fans_title"
+                    tools:text="1181" />
+
+                <TextView
+                    android:paddingStart="6dp"
+                    android:id="@+id/tv_course_num_completed"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:text="0"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_15"
+                    android:textStyle="bold"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_course_num_completed_title"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_course_num_completed_title"
+                    app:layout_constraintTop_toTopOf="@+id/tv_course_num_completed_title"
+                    tools:text="118" />
+
+                <View
+                    android:id="@+id/view_introduce_bg"
+                    android:layout_marginTop="57dp"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_line_bottom"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_avatar"
+                    android:background="@drawable/shape_f8f9fc_top_10dp"
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"/>
+
+                <FrameLayout
+                    android:background="@drawable/shape_homepage_user_style_bg"
+                    android:layout_marginStart="14dp"
+                    android:layout_marginTop="15dp"
+                    app:layout_constraintRight_toLeftOf="@+id/fl_fans_group"
+                    app:layout_constraintLeft_toLeftOf="@+id/view_introduce_bg"
+                    app:layout_constraintTop_toTopOf="@+id/view_introduce_bg"
+                    android:id="@+id/fl_style"
+                    android:layout_width="0dp"
+                    android:layout_height="36dp">
+                    <TextView
+                        android:drawablePadding="6dp"
+                        android:drawableStart="@drawable/icon_homepage_user_style"
+                        android:layout_gravity="center"
+                        android:includeFontPadding="false"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_14"
+                        android:text="个人风采"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"/>
+                </FrameLayout>
+
+                <FrameLayout
+                    android:background="@drawable/shape_homepage_fans_group_bg"
+                    android:layout_marginEnd="14dp"
+                    android:layout_marginStart="11dp"
+                    app:layout_constraintLeft_toRightOf="@+id/fl_style"
+                    app:layout_constraintRight_toRightOf="@+id/view_introduce_bg"
+                    app:layout_constraintTop_toTopOf="@+id/fl_style"
+                    android:id="@+id/fl_fans_group"
+                    android:layout_width="0dp"
+                    android:layout_height="36dp">
+                    <TextView
+                        android:drawablePadding="6dp"
+                        android:drawableStart="@drawable/icon_homepage_user_fans_group"
+                        android:layout_gravity="center"
+                        android:includeFontPadding="false"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_14"
+                        android:text="粉丝群"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"/>
+                </FrameLayout>
+
+                <TextView
+                    android:padding="12dp"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    tools:text="毕业于中央音乐学员长笛专业,师从央音长笛系。曾获得2016年锦绣杯长笛大赛冠军。自2018年起研究长笛启蒙、考级到专业考试教育。总结出一套适合各个阶段需要的教学方式。所教学员考级通过率100%,专业院校复试率92%。"
+                    android:background="@drawable/bg_white_6dp"
+                    android:layout_marginTop="12dp"
+                    android:layout_marginEnd="14dp"
+                    android:layout_marginStart="14dp"
+                    android:text="暂无介绍"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/fl_style"
+                    android:textColor="@color/color_777777"
+                    android:textSize="@dimen/sp_13"
+                    android:id="@+id/tv_introduce"
+                    android:layout_width="0dp"
+                    android:minHeight="98dp"
+                    android:layout_height="wrap_content"/>
+
+                <View
+                    android:id="@+id/view_line_bottom"
+                    android:layout_marginTop="12dp"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/tv_introduce"
+                    android:layout_width="1px"
+                    android:layout_height="1px"/>
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+            <androidx.appcompat.widget.Toolbar
+                android:id="@+id/toolbar"
+                android:layout_width="match_parent"
+                android:layout_height="?attr/actionBarSize"
+                app:layout_collapseMode="pin" >
+                <TextView
+                    android:layout_centerInParent="true"
+                    android:layout_gravity="center"
+                    android:id="@+id/tv_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_18"
+                    android:visibility="visible"
+                    tools:text="李老师的主页" />
+
+                <TextView
+                    android:id="@+id/tv_edit"
+                    android:drawablePadding="6dp"
+                    android:paddingStart="6dp"
+                    android:paddingEnd="10dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="26dp"
+                    android:layout_marginTop="11dp"
+                    android:layout_marginEnd="11dp"
+                    android:background="@drawable/shape_border_1dp_white_14dp"
+                    android:gravity="center"
+                    android:text="编辑"
+                    android:drawableStart="@drawable/icon_edit_user_style"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/sp_13"
+                    android:layout_gravity="center_vertical|end"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_back"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toTopOf="@+id/iv_back" />
+            </androidx.appcompat.widget.Toolbar>
+        </com.google.android.material.appbar.CollapsingToolbarLayout>
+
+        <com.google.android.material.tabs.TabLayout
+            android:id="@+id/tab_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="14dp"
+            android:layout_marginEnd="14dp"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:tabBackground="@color/transparent"
+            app:tabGravity="fill"
+            app:tabIndicator="@drawable/custom_indicator_drawable"
+            app:tabIndicatorColor="@color/colorAccent"
+            app:tabIndicatorFullWidth="false"
+            app:tabIndicatorHeight="4dp"
+            app:tabMaxWidth="0dp"
+            app:tabMode="scrollable"
+            app:tabPaddingEnd="0dp"
+            app:tabPaddingStart="0dp"
+            app:tabRippleColor="@color/transparent"
+            app:tabSelectedTextColor="@color/color_333333"
+            app:tabTextColor="@color/color_666666" />
+    </com.google.android.material.appbar.AppBarLayout>
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/view_pager"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:overScrollMode="never"
+        android:scrollbars="none"
+        app:layout_behavior="@string/appbar_scrolling_view_behavior"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/tab_layout" />
+
+</androidx.coordinatorlayout.widget.CoordinatorLayout>