activity_home_page_layout.xml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:fitsSystemWindows="true">
  8. <com.google.android.material.appbar.AppBarLayout
  9. android:layout_width="match_parent"
  10. android:id="@+id/app_bar_layout"
  11. android:layout_height="wrap_content"
  12. android:background="@color/transparent"
  13. android:fitsSystemWindows="true"
  14. android:theme="@style/AppTheme.AppBarOverlay">
  15. <com.google.android.material.appbar.CollapsingToolbarLayout
  16. android:id="@+id/collapsing_toolbar_layout"
  17. android:layout_width="match_parent"
  18. android:layout_height="wrap_content"
  19. android:fitsSystemWindows="true"
  20. android:paddingBottom="0dp"
  21. app:contentScrim="@color/transparent"
  22. app:titleEnabled="false"
  23. app:scrimAnimationDuration="10"
  24. app:statusBarScrim="@color/transparent"
  25. app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
  26. <FrameLayout
  27. android:fitsSystemWindows="true"
  28. app:layout_collapseMode="parallax"
  29. android:layout_width="match_parent"
  30. android:layout_height="188dp">
  31. <ImageView
  32. android:id="@+id/iv_header_bg"
  33. android:layout_width="match_parent"
  34. android:layout_height="188dp"
  35. android:adjustViewBounds="true"
  36. android:scaleType="centerCrop"
  37. app:layout_constraintLeft_toLeftOf="parent"
  38. app:layout_constraintTop_toTopOf="parent" />
  39. <View
  40. android:layout_width="match_parent"
  41. android:layout_height="188dp"
  42. android:background="@color/color_40000000"
  43. app:layout_constraintBottom_toBottomOf="@+id/iv_header_bg"
  44. app:layout_constraintLeft_toLeftOf="@+id/iv_header_bg"
  45. app:layout_constraintRight_toRightOf="@+id/iv_header_bg"
  46. app:layout_constraintTop_toTopOf="@+id/iv_header_bg" />
  47. </FrameLayout>
  48. <androidx.constraintlayout.widget.ConstraintLayout
  49. android:layout_width="match_parent"
  50. android:layout_height="match_parent"
  51. app:layout_collapseMode="parallax">
  52. <!-- <ImageView-->
  53. <!-- android:id="@+id/iv_header_bg"-->
  54. <!-- android:layout_width="match_parent"-->
  55. <!-- android:layout_height="188dp"-->
  56. <!-- android:adjustViewBounds="true"-->
  57. <!-- android:scaleType="centerCrop"-->
  58. <!-- app:layout_constraintLeft_toLeftOf="parent"-->
  59. <!-- app:layout_constraintTop_toTopOf="parent" />-->
  60. <!-- <View-->
  61. <!-- android:layout_width="0dp"-->
  62. <!-- android:layout_height="0dp"-->
  63. <!-- android:background="@color/color_40000000"-->
  64. <!-- app:layout_constraintBottom_toBottomOf="@+id/iv_header_bg"-->
  65. <!-- app:layout_constraintLeft_toLeftOf="@+id/iv_header_bg"-->
  66. <!-- app:layout_constraintRight_toRightOf="@+id/iv_header_bg"-->
  67. <!-- app:layout_constraintTop_toTopOf="@+id/iv_header_bg" />-->
  68. <View
  69. android:id="@+id/view_status_bar"
  70. android:layout_width="match_parent"
  71. android:layout_height="1px"
  72. app:layout_constraintTop_toTopOf="parent" />
  73. <ImageView
  74. android:id="@+id/iv_back"
  75. android:layout_width="wrap_content"
  76. android:layout_height="wrap_content"
  77. android:layout_marginStart="12dp"
  78. android:layout_marginTop="15dp"
  79. android:padding="10dp"
  80. android:src="@drawable/icon_back_arrow_white"
  81. android:visibility="invisible"
  82. app:layout_constraintLeft_toLeftOf="parent"
  83. app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
  84. <View
  85. android:id="@+id/view_top_bg"
  86. android:layout_width="match_parent"
  87. android:layout_height="0dp"
  88. android:layout_marginStart="14dp"
  89. android:layout_marginTop="53dp"
  90. android:layout_marginEnd="14dp"
  91. android:background="@drawable/shape_10dp_white"
  92. app:layout_constraintBottom_toBottomOf="@+id/view_top_header_bottom_line"
  93. app:layout_constraintTop_toBottomOf="@+id/iv_back" />
  94. <View
  95. android:id="@+id/view_top_header_bottom_line"
  96. android:layout_width="1px"
  97. android:layout_height="1px"
  98. android:layout_marginTop="16dp"
  99. app:layout_constraintLeft_toLeftOf="parent"
  100. app:layout_constraintTop_toBottomOf="@+id/tv_fans_title" />
  101. <TextView
  102. android:id="@+id/tv_edit"
  103. android:layout_width="60dp"
  104. android:layout_height="28dp"
  105. android:textStyle="bold"
  106. android:layout_marginTop="11dp"
  107. android:layout_marginEnd="11dp"
  108. android:background="@drawable/shape_d8fff8_14dp"
  109. android:gravity="center"
  110. android:text="编辑"
  111. android:textColor="@color/color_2dc7aa"
  112. android:textSize="@dimen/sp_12"
  113. app:layout_constraintRight_toRightOf="@+id/view_top_bg"
  114. app:layout_constraintTop_toTopOf="@+id/view_top_bg" />
  115. <de.hdodenhof.circleimageview.CircleImageView
  116. android:id="@+id/iv_avatar"
  117. android:layout_width="78dp"
  118. android:layout_height="78dp"
  119. android:layout_marginStart="12dp"
  120. android:layout_marginTop="14dp"
  121. android:src="@drawable/icon_teacher_default_head"
  122. app:civ_border_color="@color/white"
  123. app:civ_border_width="2dp"
  124. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  125. app:layout_constraintTop_toBottomOf="@+id/iv_back" />
  126. <View
  127. android:id="@+id/view_vip_help_line"
  128. android:layout_width="1px"
  129. android:layout_height="1px"
  130. android:layout_marginEnd="25dp"
  131. android:layout_marginBottom="22dp"
  132. app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
  133. app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
  134. <ImageView
  135. android:id="@+id/iv_vip"
  136. android:layout_width="37dp"
  137. android:layout_height="18dp"
  138. app:layout_constraintLeft_toRightOf="@+id/view_vip_help_line"
  139. app:layout_constraintTop_toBottomOf="@+id/view_vip_help_line" />
  140. <TextView
  141. android:id="@+id/tv_nickname"
  142. android:layout_width="wrap_content"
  143. android:layout_height="wrap_content"
  144. android:layout_marginStart="12dp"
  145. android:layout_marginTop="14dp"
  146. android:includeFontPadding="false"
  147. android:textColor="@color/color_1a1a1a"
  148. android:textSize="@dimen/sp_18"
  149. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  150. app:layout_constraintTop_toBottomOf="@+id/iv_avatar"
  151. app:layout_constraintVertical_chainStyle="packed"
  152. tools:text="游客12e32td" />
  153. <ImageView
  154. android:id="@+id/iv_edu_cert"
  155. android:layout_width="wrap_content"
  156. android:layout_height="wrap_content"
  157. android:layout_marginStart="8dp"
  158. android:src="@drawable/icon_education_cert"
  159. android:visibility="gone"
  160. app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
  161. app:layout_constraintLeft_toRightOf="@+id/tv_nickname"
  162. app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
  163. <ImageView
  164. android:id="@+id/iv_teacher_cert"
  165. android:layout_width="wrap_content"
  166. android:layout_height="wrap_content"
  167. android:layout_marginStart="6dp"
  168. android:src="@drawable/icon_teacher_cert"
  169. android:visibility="gone"
  170. app:layout_constraintBottom_toBottomOf="@+id/tv_nickname"
  171. app:layout_constraintLeft_toRightOf="@+id/iv_edu_cert"
  172. app:layout_constraintTop_toTopOf="@+id/tv_nickname" />
  173. <TextView
  174. android:id="@+id/tv_badge_title"
  175. android:layout_width="wrap_content"
  176. android:layout_height="wrap_content"
  177. android:layout_marginStart="12dp"
  178. android:layout_marginTop="22dp"
  179. android:includeFontPadding="false"
  180. android:text="勋章:"
  181. android:textColor="@color/color_666666"
  182. android:textSize="@dimen/sp_12"
  183. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  184. app:layout_constraintTop_toBottomOf="@+id/tv_nickname" />
  185. <com.cooleshow.base.widgets.BadgeIconListView
  186. android:id="@+id/ll_badge"
  187. android:layout_width="wrap_content"
  188. android:layout_height="wrap_content"
  189. android:visibility="visible"
  190. app:layout_constraintBottom_toBottomOf="@+id/tv_badge_title"
  191. app:layout_constraintLeft_toRightOf="@+id/tv_badge_title"
  192. app:layout_constraintTop_toTopOf="@+id/tv_badge_title" />
  193. <TextView
  194. android:id="@+id/tv_score_title"
  195. android:layout_width="wrap_content"
  196. android:layout_height="wrap_content"
  197. android:layout_marginStart="15dp"
  198. android:includeFontPadding="false"
  199. android:text="评分:"
  200. android:textColor="@color/color_666666"
  201. android:textSize="@dimen/sp_12"
  202. app:layout_constraintBottom_toBottomOf="@+id/tv_badge_title"
  203. app:layout_constraintLeft_toRightOf="@+id/ll_badge"
  204. app:layout_constraintTop_toTopOf="@+id/tv_badge_title" />
  205. <RatingBar
  206. android:id="@+id/rating_bar"
  207. style="@style/HomeRatingBar"
  208. android:layout_width="wrap_content"
  209. android:layout_height="19dp"
  210. android:isIndicator="true"
  211. android:numStars="5"
  212. android:rating="0"
  213. android:stepSize="1"
  214. android:visibility="visible"
  215. app:layout_constraintBottom_toBottomOf="@+id/tv_score_title"
  216. app:layout_constraintLeft_toRightOf="@+id/tv_score_title"
  217. app:layout_constraintTop_toTopOf="@+id/tv_score_title" />
  218. <TextView
  219. android:id="@+id/tv_no_score"
  220. android:layout_width="wrap_content"
  221. android:layout_height="wrap_content"
  222. android:text="暂无评分"
  223. android:textSize="@dimen/sp_13"
  224. android:visibility="gone"
  225. app:layout_constraintBottom_toBottomOf="@+id/tv_score_title"
  226. app:layout_constraintLeft_toRightOf="@+id/tv_score_title"
  227. app:layout_constraintTop_toTopOf="@+id/tv_score_title" />
  228. <ImageView
  229. android:id="@+id/iv_subject"
  230. android:layout_width="wrap_content"
  231. android:layout_height="wrap_content"
  232. android:layout_marginStart="12dp"
  233. android:layout_marginTop="12dp"
  234. android:src="@drawable/icon_good_at_music_subject"
  235. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  236. app:layout_constraintTop_toBottomOf="@+id/tv_badge_title" />
  237. <com.zhy.view.flowlayout.TagFlowLayout
  238. android:id="@+id/ll_subject_container"
  239. android:layout_width="0dp"
  240. android:layout_height="wrap_content"
  241. android:layout_marginRight="@dimen/dp_30"
  242. android:orientation="horizontal"
  243. android:paddingStart="10dp"
  244. app:layout_constraintLeft_toRightOf="@+id/iv_subject"
  245. app:layout_constraintRight_toRightOf="@+id/view_top_bg"
  246. app:max_select="0"
  247. app:layout_constraintTop_toTopOf="@+id/iv_subject" />
  248. <TextView
  249. android:id="@+id/tv_fans_title"
  250. android:layout_width="58dp"
  251. android:layout_height="28dp"
  252. android:layout_marginStart="29dp"
  253. android:layout_marginTop="56dp"
  254. android:gravity="center"
  255. android:includeFontPadding="false"
  256. android:text="粉丝"
  257. android:textColor="@color/color_999999"
  258. android:textSize="@dimen/sp_14"
  259. app:layout_constraintHorizontal_chainStyle="spread_inside"
  260. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  261. app:layout_constraintRight_toLeftOf="@+id/tv_course_num_completed_title"
  262. app:layout_constraintTop_toBottomOf="@+id/ll_subject_container" />
  263. <View
  264. android:id="@+id/view_fans"
  265. android:layout_width="0dp"
  266. android:layout_height="0dp"
  267. app:layout_constraintBottom_toBottomOf="@+id/view_top_bg"
  268. app:layout_constraintLeft_toLeftOf="@+id/view_top_bg"
  269. app:layout_constraintRight_toLeftOf="@+id/view_line1"
  270. app:layout_constraintTop_toTopOf="@+id/tv_fans_num" />
  271. <View
  272. android:id="@+id/view_line1"
  273. android:layout_width="0.5dp"
  274. android:layout_height="24dp"
  275. android:background="@color/color_eaeaea"
  276. app:layout_constraintBottom_toBottomOf="@+id/tv_fans_title"
  277. app:layout_constraintLeft_toRightOf="@+id/tv_fans_title"
  278. app:layout_constraintRight_toLeftOf="@+id/tv_course_num_completed_title"
  279. app:layout_constraintTop_toTopOf="@+id/tv_fans_num" />
  280. <TextView
  281. android:id="@+id/tv_course_num_completed_title"
  282. android:layout_width="58dp"
  283. android:layout_height="28dp"
  284. android:layout_marginTop="1dp"
  285. android:gravity="center"
  286. android:includeFontPadding="false"
  287. android:text="已上课时"
  288. android:textColor="@color/color_999999"
  289. android:textSize="@dimen/sp_14"
  290. app:layout_constraintLeft_toRightOf="@+id/tv_fans_title"
  291. app:layout_constraintRight_toLeftOf="@+id/tv_course_num_not_start_title"
  292. app:layout_constraintTop_toTopOf="@+id/tv_fans_title" />
  293. <View
  294. android:id="@+id/view_course_num_completed"
  295. android:layout_width="0dp"
  296. android:layout_height="0dp"
  297. app:layout_constraintBottom_toBottomOf="@+id/view_top_bg"
  298. app:layout_constraintLeft_toRightOf="@+id/view_line1"
  299. app:layout_constraintRight_toLeftOf="@+id/view_line2"
  300. app:layout_constraintTop_toTopOf="@+id/tv_course_num_completed" />
  301. <View
  302. android:id="@+id/view_line2"
  303. android:layout_width="0.5dp"
  304. android:layout_height="24dp"
  305. android:background="@color/color_eaeaea"
  306. app:layout_constraintBottom_toBottomOf="@+id/tv_course_num_completed_title"
  307. app:layout_constraintLeft_toRightOf="@+id/tv_course_num_completed_title"
  308. app:layout_constraintRight_toLeftOf="@+id/tv_course_num_not_start_title"
  309. app:layout_constraintTop_toTopOf="@+id/tv_course_num_completed" />
  310. <TextView
  311. android:id="@+id/tv_course_num_not_start_title"
  312. android:layout_width="58dp"
  313. android:layout_height="28dp"
  314. android:layout_marginTop="1dp"
  315. android:layout_marginEnd="29dp"
  316. android:gravity="center"
  317. android:includeFontPadding="false"
  318. android:text="未上课时"
  319. android:textColor="@color/color_999999"
  320. android:textSize="@dimen/sp_14"
  321. app:layout_constraintLeft_toRightOf="@+id/tv_course_num_completed_title"
  322. app:layout_constraintRight_toRightOf="@+id/view_top_bg"
  323. app:layout_constraintTop_toTopOf="@+id/tv_fans_title" />
  324. <View
  325. android:id="@+id/view_course_num_not_start"
  326. android:layout_width="0dp"
  327. android:layout_height="0dp"
  328. app:layout_constraintBottom_toBottomOf="@+id/view_top_bg"
  329. app:layout_constraintLeft_toRightOf="@+id/view_line2"
  330. app:layout_constraintRight_toRightOf="@+id/view_top_bg"
  331. app:layout_constraintTop_toTopOf="@+id/tv_course_num_not_start" />
  332. <TextView
  333. android:id="@+id/tv_fans_num"
  334. android:layout_width="wrap_content"
  335. android:layout_height="wrap_content"
  336. android:layout_marginBottom="1dp"
  337. android:includeFontPadding="false"
  338. android:text="0"
  339. android:textColor="@color/color_333333"
  340. android:textSize="@dimen/sp_22"
  341. android:textStyle="bold"
  342. app:layout_constraintBottom_toTopOf="@+id/tv_fans_title"
  343. app:layout_constraintLeft_toLeftOf="@+id/tv_fans_title"
  344. app:layout_constraintRight_toRightOf="@+id/tv_fans_title"
  345. tools:text="1181" />
  346. <TextView
  347. android:id="@+id/tv_course_num_completed"
  348. android:layout_width="wrap_content"
  349. android:layout_height="wrap_content"
  350. android:includeFontPadding="false"
  351. android:text="0"
  352. android:textColor="@color/color_333333"
  353. android:textSize="@dimen/sp_22"
  354. android:textStyle="bold"
  355. app:layout_constraintLeft_toLeftOf="@+id/tv_course_num_completed_title"
  356. app:layout_constraintRight_toRightOf="@+id/tv_course_num_completed_title"
  357. app:layout_constraintTop_toTopOf="@+id/tv_fans_num"
  358. tools:text="118" />
  359. <TextView
  360. android:id="@+id/tv_course_num_not_start"
  361. android:layout_width="wrap_content"
  362. android:layout_height="wrap_content"
  363. android:includeFontPadding="false"
  364. android:text="0"
  365. android:textColor="@color/color_333333"
  366. android:textSize="@dimen/sp_22"
  367. android:textStyle="bold"
  368. app:layout_constraintLeft_toLeftOf="@+id/tv_course_num_not_start_title"
  369. app:layout_constraintRight_toRightOf="@+id/tv_course_num_not_start_title"
  370. app:layout_constraintTop_toTopOf="@+id/tv_fans_num"
  371. tools:text="118" />
  372. </androidx.constraintlayout.widget.ConstraintLayout>
  373. <androidx.appcompat.widget.Toolbar
  374. android:id="@+id/toolbar"
  375. android:layout_width="match_parent"
  376. android:layout_height="?attr/actionBarSize"
  377. app:layout_collapseMode="pin" >
  378. <TextView
  379. android:layout_centerInParent="true"
  380. android:layout_gravity="center"
  381. android:id="@+id/tv_title"
  382. android:layout_width="wrap_content"
  383. android:layout_height="wrap_content"
  384. android:textColor="@color/white"
  385. android:textSize="@dimen/sp_18"
  386. android:visibility="visible"
  387. tools:text="李老师的主页" />
  388. </androidx.appcompat.widget.Toolbar>
  389. </com.google.android.material.appbar.CollapsingToolbarLayout>
  390. <com.google.android.material.tabs.TabLayout
  391. android:id="@+id/tab_layout"
  392. android:layout_width="match_parent"
  393. android:layout_height="wrap_content"
  394. android:layout_marginStart="14dp"
  395. android:layout_marginEnd="14dp"
  396. app:layout_constraintLeft_toLeftOf="parent"
  397. app:layout_constraintTop_toBottomOf="@+id/view_top_bg"
  398. app:tabBackground="@color/transparent"
  399. app:tabGravity="fill"
  400. app:tabIndicator="@drawable/custom_indicator_drawable"
  401. app:tabIndicatorColor="@color/colorAccent"
  402. app:tabIndicatorFullWidth="false"
  403. app:tabIndicatorHeight="4dp"
  404. app:tabMaxWidth="0dp"
  405. app:tabMode="scrollable"
  406. app:tabPaddingEnd="0dp"
  407. app:tabPaddingStart="0dp"
  408. app:tabRippleColor="@color/transparent"
  409. app:tabSelectedTextColor="@color/color_333333"
  410. app:tabTextColor="@color/color_666666" />
  411. </com.google.android.material.appbar.AppBarLayout>
  412. <androidx.viewpager2.widget.ViewPager2
  413. android:id="@+id/view_pager"
  414. android:layout_width="match_parent"
  415. android:layout_height="match_parent"
  416. android:overScrollMode="never"
  417. android:scrollbars="none"
  418. app:layout_behavior="@string/appbar_scrolling_view_behavior"
  419. app:layout_constraintBottom_toBottomOf="parent"
  420. app:layout_constraintTop_toBottomOf="@+id/tab_layout" />
  421. </androidx.coordinatorlayout.widget.CoordinatorLayout>