|
@@ -0,0 +1,413 @@
|
|
|
+<?xml version="1.0" encoding="utf-8"?>
|
|
|
+<androidx.constraintlayout.widget.ConstraintLayout 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">
|
|
|
+
|
|
|
+ <include
|
|
|
+ android:id="@+id/toolbar_include"
|
|
|
+ layout="@layout/common_toolbar_layout" />
|
|
|
+
|
|
|
+ <androidx.coordinatorlayout.widget.CoordinatorLayout
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ app:layout_constraintBottom_toBottomOf="parent"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/toolbar_include">
|
|
|
+
|
|
|
+ <com.google.android.material.appbar.AppBarLayout
|
|
|
+ android:id="@+id/app_bar_layout"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:background="@color/transparent"
|
|
|
+ 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:paddingBottom="0dp"
|
|
|
+ app:contentScrim="@color/transparent"
|
|
|
+ app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
|
|
+ app:scrimAnimationDuration="10"
|
|
|
+ app:statusBarScrim="@color/transparent"
|
|
|
+ app:titleEnabled="false">
|
|
|
+
|
|
|
+ <androidx.constraintlayout.widget.ConstraintLayout
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="match_parent"
|
|
|
+ app:layout_collapseMode="none">
|
|
|
+
|
|
|
+ <androidx.constraintlayout.widget.ConstraintLayout
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:id="@+id/cs_header"
|
|
|
+ app:layout_constraintTop_toTopOf="parent"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:background="@drawable/bg_white_10dp"
|
|
|
+ android:paddingBottom="12dp">
|
|
|
+
|
|
|
+ <ImageView
|
|
|
+ android:id="@+id/iv_bg"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ app:layout_constraintDimensionRatio="h,16:9"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ android:layout_height="0dp"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintTop_toTopOf="parent"
|
|
|
+ app:qmui_corner_radius="6dp" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_course_name"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="@dimen/dp_19"
|
|
|
+ android:layout_marginTop="8dp"
|
|
|
+ android:layout_marginStart="@dimen/dp_8"
|
|
|
+ android:background="@drawable/shape_66000000_3dp"
|
|
|
+ android:gravity="center"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:paddingStart="@dimen/dp_6"
|
|
|
+ android:paddingEnd="@dimen/dp_6"
|
|
|
+ android:textColor="@color/white"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/iv_bg"
|
|
|
+ tools:text="单簧管" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:visibility="gone"
|
|
|
+ android:id="@+id/tv_course_status_tip"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:background="@drawable/shape_ffe7e7_15dp_left"
|
|
|
+ android:gravity="center"
|
|
|
+ android:paddingStart="12dp"
|
|
|
+ android:paddingTop="3dp"
|
|
|
+ android:paddingEnd="12dp"
|
|
|
+ android:paddingBottom="3dp"
|
|
|
+ android:text="销售中"
|
|
|
+ android:textColor="@color/color_ff1919"
|
|
|
+ android:textSize="@dimen/sp_10"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/tv_course_name"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/tv_course_name" />
|
|
|
+
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:layout_marginEnd="14dp"
|
|
|
+ android:layout_marginStart="14dp"
|
|
|
+ android:id="@+id/tv_title"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:ellipsize="end"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:maxLines="1"
|
|
|
+ android:textColor="@color/color_1a1a1a"
|
|
|
+ android:textSize="@dimen/sp_16"
|
|
|
+ android:textStyle="bold"
|
|
|
+ android:layout_marginTop="8dp"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintVertical_chainStyle="packed"
|
|
|
+ tools:text="张豆张豆豆豆张豆张豆豆豆张豆张豆豆豆张豆张豆豆豆" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:drawableStart="@drawable/icon_live_course_time_tag"
|
|
|
+ android:id="@+id/tv_time"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:layout_marginTop="12dp"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:textColor="@color/color_333333"
|
|
|
+ android:textSize="@dimen/sp_14"
|
|
|
+ android:textStyle="bold"
|
|
|
+ android:drawablePadding="6dp"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_title"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/tv_title"
|
|
|
+ tools:text="开课时间:2024-11-16 09:30" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:visibility="gone"
|
|
|
+ android:id="@+id/tv_des"
|
|
|
+ android:layout_width="0dp"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:ellipsize="end"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:maxLines="1"
|
|
|
+ android:textColor="@color/color_777777"
|
|
|
+ android:textSize="@dimen/sp_14"
|
|
|
+ android:layout_marginTop="4dp"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/iv_bg"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_title"
|
|
|
+ tools:text="国际著名长笛演奏家、教育家子珊女士为您讲教育家子珊女士为您讲教育家子珊女士为您讲" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_buy_num"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:background="@drawable/shape_12ff802c_2dp"
|
|
|
+ android:textColor="@color/color_ff6827"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ android:visibility="visible"
|
|
|
+ android:paddingStart="4dp"
|
|
|
+ android:paddingEnd="4dp"
|
|
|
+ android:paddingTop="3dp"
|
|
|
+ android:paddingBottom="3dp"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/tv_time"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/tv_time"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/tv_title"
|
|
|
+ tools:text="6人已购买" />
|
|
|
+
|
|
|
+
|
|
|
+ <View
|
|
|
+ android:id="@+id/view_line"
|
|
|
+ android:layout_marginTop="12dp"
|
|
|
+ app:layout_constraintRight_toRightOf="@+id/tv_title"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/tv_title"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_time"
|
|
|
+ android:background="@color/color_f2f2f2"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="1dp"/>
|
|
|
+
|
|
|
+ <de.hdodenhof.circleimageview.CircleImageView
|
|
|
+ android:layout_width="40dp"
|
|
|
+ android:id="@+id/iv_avatar"
|
|
|
+ android:layout_marginTop="12dp"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/tv_title"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/view_line"
|
|
|
+ android:layout_height="40dp"/>
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ app:layout_constraintBottom_toTopOf="@+id/iv_course_tag"
|
|
|
+ android:id="@+id/tv_teacher_name"
|
|
|
+ tools:text="老师昵称"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:textSize="@dimen/sp_15"
|
|
|
+ android:textColor="@color/color_333333"
|
|
|
+ android:layout_marginStart="10dp"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_avatar"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/iv_avatar"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"/>
|
|
|
+
|
|
|
+ <ImageView
|
|
|
+ android:layout_marginTop="3dp"
|
|
|
+ android:id="@+id/iv_course_tag"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
|
|
|
+ android:src="@drawable/icon_course_completed_tag"
|
|
|
+ app:layout_constraintLeft_toLeftOf="@+id/tv_teacher_name"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_teacher_name" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:layout_marginStart="4dp"
|
|
|
+ android:id="@+id/tv_course_completed_title"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:text="已上课时"
|
|
|
+ android:textColor="@color/color_999999"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/iv_course_tag"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_course_tag"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/iv_course_tag"
|
|
|
+ />
|
|
|
+
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_course_completed_value"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:paddingStart="3dp"
|
|
|
+ android:paddingEnd="3dp"
|
|
|
+ android:text="0"
|
|
|
+ android:textColor="@color/color_2dc7aa"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ android:textStyle="bold"
|
|
|
+ app:layout_constraintBaseline_toBaselineOf="@+id/tv_course_completed_title"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/tv_course_completed_title" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_course_total_title"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:text="/总课时"
|
|
|
+ android:textColor="@color/color_999999"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ app:layout_constraintBaseline_toBaselineOf="@+id/tv_course_completed_title"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/tv_course_completed_value" />
|
|
|
+
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_course_total_value"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:paddingStart="3dp"
|
|
|
+ android:paddingEnd="3dp"
|
|
|
+ android:text="0"
|
|
|
+ android:textColor="@color/color_333333"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ android:textStyle="bold"
|
|
|
+ app:layout_constraintBaseline_toBaselineOf="@+id/tv_course_completed_title"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/tv_course_total_title" />
|
|
|
+
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_price"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:text="¥120"
|
|
|
+ android:textColor="@color/color_f44541"
|
|
|
+ android:textSize="@dimen/sp_20"
|
|
|
+ android:textStyle="bold"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/iv_avatar"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
|
|
|
+ app:layout_constraintRight_toLeftOf="@+id/tv_price_unit" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:id="@+id/tv_price_unit"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:paddingStart="2dp"
|
|
|
+ android:text="/4课时"
|
|
|
+ android:layout_marginEnd="14dp"
|
|
|
+ android:textColor="@color/color_999999"
|
|
|
+ android:textSize="@dimen/sp_12"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ app:layout_constraintBaseline_toBaselineOf="@+id/tv_price" />
|
|
|
+
|
|
|
+ <ImageView
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:layout_marginStart="5dp"
|
|
|
+ android:src="@drawable/icon_chat_small"
|
|
|
+ android:visibility="gone"
|
|
|
+ app:layout_constraintBottom_toBottomOf="@+id/tv_title"
|
|
|
+ app:layout_constraintLeft_toRightOf="@+id/tv_title"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/tv_title" />
|
|
|
+
|
|
|
+ </androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
+
|
|
|
+ <androidx.constraintlayout.widget.ConstraintLayout
|
|
|
+ android:id="@+id/cs_course_plan"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:layout_marginTop="12dp"
|
|
|
+ android:background="@drawable/shape_white_8dp"
|
|
|
+ android:padding="12dp"
|
|
|
+ android:layout_marginStart="14dp"
|
|
|
+ android:layout_marginEnd="14dp"
|
|
|
+ android:visibility="gone"
|
|
|
+ tools:visibility="visible"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/cs_header">
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_plan_title"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:drawableStart="@drawable/icon_course_group_plan_tag"
|
|
|
+ android:drawablePadding="6dp"
|
|
|
+ android:gravity="center"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:text="课程介绍"
|
|
|
+ android:textColor="@color/color_333333"
|
|
|
+ android:textSize="@dimen/sp_15"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintTop_toTopOf="parent" />
|
|
|
+
|
|
|
+ <TextView
|
|
|
+ android:visibility="gone"
|
|
|
+ android:id="@+id/tv_edit_plan"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:drawableStart="@drawable/icon_course_group_edit_plan"
|
|
|
+ android:drawablePadding="2dp"
|
|
|
+ android:gravity="center"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:text="修改"
|
|
|
+ android:textColor="@color/color_777777"
|
|
|
+ android:textSize="@dimen/sp_13"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ app:layout_constraintTop_toTopOf="@+id/tv_plan_title" />
|
|
|
+
|
|
|
+ <androidx.core.widget.NestedScrollView
|
|
|
+ android:layout_marginTop="12dp"
|
|
|
+ android:id="@+id/sc_course_plan"
|
|
|
+ android:scrollbars="vertical"
|
|
|
+ android:fadeScrollbars="false"
|
|
|
+ android:scrollbarThumbVertical="@drawable/shape_e2e2e2_2dp"
|
|
|
+ android:scrollbarStyle="outsideInset"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_plan_title"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content">
|
|
|
+ <TextView
|
|
|
+ android:id="@+id/tv_plan_content"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content"
|
|
|
+ android:includeFontPadding="false"
|
|
|
+ android:textColor="@color/color_777777"
|
|
|
+ android:textSize="@dimen/sp_13"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/tv_plan_title"
|
|
|
+ tools:text="中国院长笛四级考中国院长笛四级考级曲目教学中国院长笛四级考级曲目中国院长笛四级考级曲目教学中国院长笛四级考级曲目中国院长笛四级考级曲目教学中国院长笛四级考级曲目中国院长笛四级考级曲目教学中国院长笛四级考级曲目中国院长笛四级考级曲目教学中国院长笛四级考级曲目级曲目教学中国院长笛四级考级曲目" />
|
|
|
+ </androidx.core.widget.NestedScrollView>
|
|
|
+
|
|
|
+ </androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
+ </androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
+ </com.google.android.material.appbar.CollapsingToolbarLayout>
|
|
|
+
|
|
|
+ <FrameLayout
|
|
|
+ android:id="@+id/fl_tab"
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="wrap_content">
|
|
|
+
|
|
|
+ <com.google.android.material.tabs.TabLayout
|
|
|
+ android:id="@+id/tablayout"
|
|
|
+ android:layout_width="wrap_content"
|
|
|
+ android:layout_height="@dimen/dp_44"
|
|
|
+ android:layout_gravity="center_horizontal"
|
|
|
+ android:scrollbars="none"
|
|
|
+ app:layout_constraintLeft_toLeftOf="parent"
|
|
|
+ app:layout_constraintRight_toRightOf="parent"
|
|
|
+ app:layout_constraintTop_toBottomOf="@+id/toolbar_include"
|
|
|
+ app:tabBackground="@null"
|
|
|
+ app:tabGravity="fill"
|
|
|
+ app:tabIndicator="@drawable/tab_indicator"
|
|
|
+ app:tabIndicatorColor="@color/color_2dc7aa"
|
|
|
+ app:tabIndicatorFullWidth="false"
|
|
|
+ app:tabIndicatorHeight="4dp"
|
|
|
+ app:tabMode="scrollable"
|
|
|
+ app:tabPaddingEnd="0dp"
|
|
|
+ app:tabPaddingStart="0dp"
|
|
|
+ app:tabRippleColor="@null"
|
|
|
+ app:tabSelectedTextColor="@color/black_333"
|
|
|
+ app:tabTextAppearance="@style/tab_layout_style"
|
|
|
+ app:tabTextColor="@color/color_666666" />
|
|
|
+ </FrameLayout>
|
|
|
+ </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>
|
|
|
+</androidx.constraintlayout.widget.ConstraintLayout>
|