manga_info_header.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.motion.widget.MotionLayout 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="wrap_content"
  7. android:orientation="vertical"
  8. app:layoutDescription="@xml/manga_info_header_scene"
  9. tools:context=".ui.browse.source.browse.BrowseSourceController">
  10. <ImageView
  11. android:id="@+id/backdrop"
  12. android:layout_width="0dp"
  13. android:layout_height="0dp"
  14. android:layout_marginBottom="-8dp"
  15. android:alpha="0.2"
  16. android:scaleType="centerCrop"
  17. app:layout_constraintBottom_toBottomOf="@+id/manga_cover"
  18. app:layout_constraintEnd_toEndOf="parent"
  19. app:layout_constraintStart_toStartOf="parent"
  20. app:layout_constraintTop_toTopOf="parent"
  21. tools:background="@mipmap/ic_launcher" />
  22. <View
  23. android:id="@+id/backdrop_overlay"
  24. android:layout_width="match_parent"
  25. android:layout_height="160dp"
  26. android:layout_marginBottom="-16dp"
  27. android:background="@drawable/manga_info_gradient"
  28. android:backgroundTint="?android:attr/colorBackground"
  29. app:layout_constraintBottom_toBottomOf="@+id/backdrop" />
  30. <ImageView
  31. android:id="@+id/manga_cover"
  32. android:layout_width="100dp"
  33. android:layout_height="0dp"
  34. android:layout_marginStart="16dp"
  35. android:layout_marginTop="48dp"
  36. android:background="@drawable/rounded_rectangle"
  37. android:contentDescription="@string/description_cover"
  38. android:maxWidth="100dp"
  39. android:scaleType="centerCrop"
  40. app:layout_constraintDimensionRatio="w,3:2"
  41. app:layout_constraintStart_toStartOf="parent"
  42. app:layout_constraintTop_toTopOf="parent"
  43. tools:layout_height="133dp"
  44. tools:src="@mipmap/ic_launcher" />
  45. <LinearLayout
  46. android:id="@+id/manga_detail"
  47. android:layout_width="0dp"
  48. android:layout_height="wrap_content"
  49. android:layout_marginStart="16dp"
  50. android:layout_marginEnd="16dp"
  51. android:orientation="vertical"
  52. app:layout_constraintBottom_toBottomOf="@+id/manga_cover"
  53. app:layout_constraintEnd_toEndOf="parent"
  54. app:layout_constraintStart_toEndOf="@+id/manga_cover">
  55. <TextView
  56. android:id="@+id/manga_full_title"
  57. style="@style/TextAppearance.Medium.Title"
  58. android:layout_width="match_parent"
  59. android:layout_height="wrap_content"
  60. android:layout_marginBottom="4dp"
  61. android:gravity="bottom"
  62. android:maxLines="3"
  63. android:text="@string/manga_info_full_title_label"
  64. android:textIsSelectable="false"
  65. app:autoSizeMaxTextSize="20sp"
  66. app:autoSizeMinTextSize="12sp"
  67. app:autoSizeStepGranularity="2sp"
  68. app:autoSizeTextType="uniform" />
  69. <TextView
  70. android:id="@+id/manga_author"
  71. style="@style/TextAppearance.Regular.Body1.Secondary"
  72. android:layout_width="wrap_content"
  73. android:layout_height="wrap_content"
  74. android:textIsSelectable="false"
  75. tools:text="Author" />
  76. <TextView
  77. android:id="@+id/manga_artist"
  78. style="@style/TextAppearance.Regular.Body1.Secondary"
  79. android:layout_width="wrap_content"
  80. android:layout_height="wrap_content"
  81. android:layout_marginBottom="4dp"
  82. android:textIsSelectable="false"
  83. tools:text="Artist" />
  84. <LinearLayout
  85. android:id="@+id/manga_status_row"
  86. android:layout_width="wrap_content"
  87. android:layout_height="wrap_content">
  88. <TextView
  89. android:id="@+id/manga_status"
  90. style="@style/TextAppearance.Regular.Body1.Secondary"
  91. android:layout_width="wrap_content"
  92. android:layout_height="match_parent"
  93. android:ellipsize="end"
  94. android:maxLines="1"
  95. android:textIsSelectable="false"
  96. tools:text="Status" />
  97. <TextView
  98. style="@style/TextAppearance.Regular.Body1.Secondary"
  99. android:layout_width="wrap_content"
  100. android:layout_height="wrap_content"
  101. android:layout_marginStart="4dp"
  102. android:layout_marginEnd="4dp"
  103. android:text="•"
  104. android:textIsSelectable="false"
  105. tools:ignore="HardcodedText" />
  106. <TextView
  107. android:id="@+id/manga_source"
  108. style="@style/TextAppearance.Regular.Body1.Secondary"
  109. android:layout_width="wrap_content"
  110. android:layout_height="wrap_content"
  111. android:ellipsize="end"
  112. android:maxLines="1"
  113. android:textIsSelectable="false"
  114. tools:text="Source" />
  115. </LinearLayout>
  116. </LinearLayout>
  117. <com.google.android.material.button.MaterialButton
  118. android:id="@+id/btn_favorite"
  119. style="@style/Theme.Widget.Button.Action"
  120. android:layout_width="0dp"
  121. android:layout_height="wrap_content"
  122. android:text="@string/add_to_library"
  123. app:icon="@drawable/ic_favorite_border_24dp"
  124. app:layout_constraintEnd_toStartOf="@+id/btn_tracking"
  125. app:layout_constraintHorizontal_bias="0.5"
  126. app:layout_constraintStart_toStartOf="parent"
  127. app:layout_constraintTop_toBottomOf="@+id/backdrop" />
  128. <com.google.android.material.button.MaterialButton
  129. android:id="@+id/btn_tracking"
  130. style="@style/Theme.Widget.Button.Action"
  131. android:layout_width="0dp"
  132. android:layout_height="wrap_content"
  133. android:text="@string/manga_tracking_tab"
  134. android:visibility="gone"
  135. app:icon="@drawable/ic_sync_24dp"
  136. app:layout_constraintEnd_toStartOf="@+id/btn_webview"
  137. app:layout_constraintHorizontal_bias="0.5"
  138. app:layout_constraintStart_toEndOf="@+id/btn_favorite"
  139. app:layout_constraintTop_toTopOf="@+id/btn_favorite"
  140. tools:visibility="visible" />
  141. <com.google.android.material.button.MaterialButton
  142. android:id="@+id/btn_webview"
  143. style="@style/Theme.Widget.Button.Action"
  144. android:layout_width="0dp"
  145. android:layout_height="wrap_content"
  146. android:text="@string/action_web_view"
  147. android:visibility="gone"
  148. app:icon="@drawable/ic_public_24dp"
  149. app:layout_constraintEnd_toEndOf="parent"
  150. app:layout_constraintHorizontal_bias="0.5"
  151. app:layout_constraintStart_toEndOf="@+id/btn_tracking"
  152. app:layout_constraintTop_toTopOf="@+id/btn_favorite"
  153. tools:visibility="visible" />
  154. <TextView
  155. android:id="@+id/manga_summary_text"
  156. style="@style/TextAppearance.Regular.Body1.Secondary"
  157. android:layout_width="0dp"
  158. android:layout_height="wrap_content"
  159. android:layout_marginStart="16dp"
  160. android:layout_marginEnd="16dp"
  161. android:clickable="true"
  162. android:focusable="true"
  163. android:maxLines="2"
  164. android:textIsSelectable="false"
  165. app:layout_constraintEnd_toEndOf="parent"
  166. app:layout_constraintStart_toStartOf="parent"
  167. app:layout_constraintTop_toBottomOf="@+id/btn_favorite"
  168. tools:text="Collapsed summary content Collapsed summary content Collapsed summary content Collapsed summary content Collapsed summary content Collapsed summary content" />
  169. <View
  170. android:id="@+id/manga_info_toggle_more_scrim"
  171. android:layout_width="20dp"
  172. android:layout_height="0dp"
  173. android:background="@drawable/manga_info_more_gradient"
  174. android:backgroundTint="?android:attr/colorBackground"
  175. app:layout_constraintBottom_toBottomOf="@+id/manga_info_toggle_more"
  176. app:layout_constraintEnd_toStartOf="@+id/manga_info_toggle_more"
  177. app:layout_constraintTop_toTopOf="@+id/manga_info_toggle_more" />
  178. <com.google.android.material.button.MaterialButton
  179. android:id="@+id/manga_info_toggle_more"
  180. style="@style/Theme.Widget.Button.TextButton"
  181. android:layout_width="wrap_content"
  182. android:layout_height="wrap_content"
  183. android:paddingStart="8dp"
  184. android:paddingEnd="16dp"
  185. android:text="@string/manga_info_expand"
  186. android:textAlignment="viewEnd"
  187. app:layout_constraintBottom_toBottomOf="@+id/manga_summary_text"
  188. app:layout_constraintEnd_toEndOf="parent" />
  189. <com.google.android.material.button.MaterialButton
  190. android:id="@+id/manga_info_toggle_less"
  191. style="@style/Theme.Widget.Button.TextButton"
  192. android:layout_width="wrap_content"
  193. android:layout_height="wrap_content"
  194. android:paddingStart="8dp"
  195. android:paddingEnd="16dp"
  196. android:text="@string/manga_info_collapse"
  197. android:textAlignment="viewEnd"
  198. android:visibility="gone"
  199. app:layout_constraintEnd_toEndOf="parent"
  200. app:layout_constraintTop_toBottomOf="@+id/manga_summary_text"
  201. tools:visibility="visible" />
  202. <HorizontalScrollView
  203. android:id="@+id/manga_genres_tags_compact"
  204. android:layout_width="match_parent"
  205. android:layout_height="wrap_content"
  206. android:requiresFadingEdge="horizontal"
  207. android:scrollbars="none"
  208. app:layout_constraintEnd_toEndOf="parent"
  209. app:layout_constraintStart_toStartOf="parent"
  210. app:layout_constraintTop_toBottomOf="@+id/manga_summary_text">
  211. <com.google.android.material.chip.ChipGroup
  212. android:id="@+id/manga_genres_tags_compact_chips"
  213. android:layout_width="wrap_content"
  214. android:layout_height="wrap_content"
  215. android:paddingStart="16dp"
  216. android:paddingTop="8dp"
  217. android:paddingEnd="16dp"
  218. android:paddingBottom="8dp"
  219. app:chipSpacingHorizontal="4dp"
  220. app:singleLine="true" />
  221. </HorizontalScrollView>
  222. <com.google.android.material.chip.ChipGroup
  223. android:id="@+id/manga_genres_tags_full_chips"
  224. android:layout_width="match_parent"
  225. android:layout_height="wrap_content"
  226. android:layout_marginStart="16dp"
  227. android:layout_marginEnd="16dp"
  228. android:paddingTop="8dp"
  229. android:paddingBottom="8dp"
  230. android:visibility="gone"
  231. app:chipSpacingHorizontal="4dp"
  232. app:layout_constraintEnd_toEndOf="parent"
  233. app:layout_constraintStart_toStartOf="parent"
  234. app:layout_constraintTop_toBottomOf="@+id/manga_info_toggle_less"
  235. tools:visibility="visible" />
  236. <androidx.constraintlayout.widget.Group
  237. android:id="@+id/manga_summary_section"
  238. android:layout_width="0dp"
  239. android:layout_height="0dp"
  240. app:constraint_referenced_ids="manga_summary_text,manga_info_toggle_more,manga_info_toggle_more_scrim,manga_genres_tags_compact" />
  241. </androidx.constraintlayout.motion.widget.MotionLayout>