fragment_nowplaying.xml 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/parentNowPlaying"
  8. android:layout_marginStart="@dimen/activity_horizontal_margin"
  9. android:layout_marginTop="@dimen/activity_horizontal_margin"
  10. android:layout_marginEnd="@dimen/activity_horizontal_margin"
  11. android:layout_marginBottom="@dimen/activity_vertical_margin">
  12. <androidx.constraintlayout.widget.ConstraintLayout
  13. android:id="@+id/layoutBlock1"
  14. android:layout_width="0dp"
  15. android:layout_height="0dp"
  16. app:layout_constraintTop_toTopOf="parent"
  17. app:layout_constraintStart_toStartOf="parent"
  18. app:layout_constraintBottom_toTopOf="@id/splitVerticalLayout"
  19. app:layout_constraintEnd_toEndOf="parent"
  20. >
  21. <!--
  22. app:layout_constraintBottom_toBottomOf="parent"
  23. app:layout_constraintEnd_toEndOf="@id/splitHorizontalLayout"
  24. android:layout_marginRight="8dp"
  25. android:layout_marginEnd="8dp"
  26. -->
  27. <ImageView
  28. android:id="@+id/streamerPicture"
  29. android:layout_width="0dp"
  30. android:layout_height="wrap_content"
  31. android:layout_gravity="top|center_horizontal"
  32. android:adjustViewBounds="true"
  33. android:contentDescription="dj-image"
  34. android:scaleType="fitCenter"
  35. app:layout_constraintEnd_toEndOf="parent"
  36. app:layout_constraintStart_toStartOf="@id/imageGuideline"
  37. app:layout_constraintTop_toTopOf="parent"
  38. app:srcCompat="@drawable/logo_roundsquare"
  39. android:layout_margin="8dp"
  40. tools:ignore="HardcodedText" />
  41. <!-- app:layout_constraintBottom_toTopOf="@id/imageLeftGuideline" -->
  42. <androidx.constraintlayout.widget.Guideline
  43. android:id="@+id/imageGuideline"
  44. android:layout_width="wrap_content"
  45. android:layout_height="wrap_content"
  46. android:orientation="vertical"
  47. app:layout_constraintGuide_percent="0.68" />
  48. <androidx.constraintlayout.widget.Guideline
  49. android:id="@+id/imageLeftGuideline"
  50. android:layout_width="wrap_content"
  51. android:layout_height="wrap_content"
  52. android:orientation="horizontal"
  53. app:layout_constraintGuide_percent="0.45" />
  54. <TextView
  55. android:id="@+id/streamerName"
  56. android:layout_width="0dp"
  57. android:layout_height="0dp"
  58. android:gravity="bottom|center_horizontal"
  59. android:text="@string/now_streaming"
  60. android:lines="3"
  61. android:textAlignment="center"
  62. android:textStyle="bold"
  63. android:layout_marginTop="2dp"
  64. app:layout_constraintBottom_toTopOf="@id/listenersCount"
  65. app:layout_constraintEnd_toEndOf="parent"
  66. app:layout_constraintHorizontal_bias="1.0"
  67. app:layout_constraintVertical_weight="3"
  68. app:layout_constraintStart_toStartOf="@id/streamerPicture"
  69. app:layout_constraintTop_toBottomOf="@id/streamerPicture"
  70. android:visibility="gone"/>
  71. <TextView
  72. android:id="@+id/listenersCount"
  73. android:layout_width="0dp"
  74. android:layout_height="0dp"
  75. app:layout_constraintVertical_weight="5"
  76. android:gravity="top|center_horizontal"
  77. android:text="@string/listeners"
  78. android:lines="2"
  79. android:textAlignment="center"
  80. android:textStyle=""
  81. android:layout_marginTop="0dp"
  82. app:layout_constraintBottom_toTopOf="@id/topInfoGuideline"
  83. app:layout_constraintEnd_toEndOf="parent"
  84. app:layout_constraintStart_toStartOf="@id/streamerPicture"
  85. app:layout_constraintTop_toBottomOf="@id/streamerName"
  86. android:visibility="gone"
  87. />
  88. <androidx.constraintlayout.widget.Guideline
  89. android:id="@+id/topInfoGuideline"
  90. android:layout_width="wrap_content"
  91. android:layout_height="wrap_content"
  92. android:orientation="horizontal"
  93. app:layout_constraintGuide_percent="0.95" />
  94. <TextView
  95. android:id="@+id/sleepInfo"
  96. android:layout_width="0dp"
  97. android:layout_height="wrap_content"
  98. android:visibility="gone"
  99. android:textColor="@color/button_red"
  100. android:gravity="center"
  101. android:textAlignment="center"
  102. android:textStyle="bold"
  103. app:layout_constraintTop_toTopOf="parent"
  104. app:layout_constraintStart_toStartOf="parent"
  105. app:layout_constraintEnd_toEndOf="@id/imageGuideline"
  106. />
  107. <androidx.appcompat.widget.AppCompatSeekBar
  108. android:id="@+id/seek_bar_volume"
  109. android:layout_width="0dp"
  110. android:layout_height="32dp"
  111. android:layout_marginEnd="4dp"
  112. android:layout_marginRight="4dp"
  113. android:max="100"
  114. android:progress="100"
  115. app:layout_constraintEnd_toStartOf="@id/volume_text"
  116. app:layout_constraintStart_toEndOf="@id/volume_icon"
  117. app:layout_constraintTop_toBottomOf="@id/sleepInfo"
  118. app:layout_constraintBottom_toBottomOf="@id/volume_icon"/>
  119. <!-- android:progressDrawable="@drawable/seek_bar_progress"
  120. android:thumb="@drawable/seek_bar_thumb" -->
  121. <!-- the width is in SP, it scales with font size.-->
  122. <TextView
  123. android:id="@+id/volume_text"
  124. android:layout_width="36sp"
  125. android:layout_height="0dp"
  126. android:layout_marginEnd="8dp"
  127. android:layout_marginRight="8dp"
  128. android:gravity="end|center_vertical"
  129. android:text=""
  130. android:textAlignment="textEnd"
  131. app:layout_constraintBottom_toBottomOf="@id/seek_bar_volume"
  132. app:layout_constraintEnd_toStartOf="@id/streamerPicture"
  133. app:layout_constraintTop_toTopOf="@id/seek_bar_volume"
  134. app:layout_constraintVertical_bias="0.0" />
  135. <ImageView
  136. android:id="@+id/volume_icon"
  137. android:layout_width="wrap_content"
  138. android:layout_height="24dp"
  139. android:contentDescription="@string/volume"
  140. android:src="@drawable/ic_volume_high"
  141. android:textSize="12sp"
  142. android:scaleType="fitEnd"
  143. app:layout_constraintBottom_toBottomOf="@id/seek_bar_volume"
  144. app:layout_constraintStart_toStartOf="parent"
  145. app:layout_constraintTop_toTopOf="@id/seek_bar_volume"
  146. app:layout_constraintVertical_bias="0.0" />
  147. <ScrollView
  148. android:id="@+id/scrollViewMetadataNext"
  149. android:layout_width="0dp"
  150. android:layout_height="0dp"
  151. android:fillViewport="true"
  152. app:layout_constraintBottom_toTopOf="@id/topInfoGuideline"
  153. app:layout_constraintEnd_toStartOf="@id/streamerPicture"
  154. app:layout_constraintStart_toStartOf="parent"
  155. app:layout_constraintTop_toBottomOf="@id/seek_bar_volume">
  156. <androidx.constraintlayout.widget.ConstraintLayout
  157. android:layout_width="match_parent"
  158. android:layout_height="wrap_content"
  159. android:orientation="vertical"
  160. android:layout_marginEnd="8dp"
  161. android:layout_marginRight="8dp"
  162. android:visibility="visible"
  163. >
  164. <TextView
  165. android:id="@+id/upNext"
  166. android:layout_width="wrap_content"
  167. android:layout_height="0dp"
  168. android:layout_gravity="top"
  169. android:text="@string/up_next"
  170. android:textAlignment="center"
  171. android:textColor="@color/whited3"
  172. android:layout_marginTop="8dp"
  173. app:layout_constraintStart_toStartOf="parent"
  174. app:layout_constraintEnd_toEndOf="parent"
  175. app:layout_constraintTop_toTopOf="parent" />
  176. <TextView
  177. android:id="@+id/text_song_artist_next"
  178. android:layout_width="match_parent"
  179. android:layout_height="wrap_content"
  180. android:gravity="bottom"
  181. android:text=""
  182. android:textAlignment="center"
  183. android:textColor="@color/whited3"
  184. android:textSize="16sp"
  185. app:layout_constraintStart_toStartOf="parent"
  186. app:layout_constraintTop_toBottomOf="@id/upNext"
  187. android:visibility="gone"/>
  188. <TextView
  189. android:id="@+id/text_song_title_next"
  190. android:layout_width="match_parent"
  191. android:layout_height="wrap_content"
  192. android:gravity="bottom"
  193. android:text=""
  194. android:textAlignment="center"
  195. android:textColor="@color/whited"
  196. android:textSize="16sp"
  197. app:layout_constraintStart_toStartOf="parent"
  198. app:layout_constraintTop_toBottomOf="@id/text_song_artist_next" />
  199. </androidx.constraintlayout.widget.ConstraintLayout>
  200. </ScrollView>
  201. </androidx.constraintlayout.widget.ConstraintLayout>
  202. <androidx.constraintlayout.widget.ConstraintLayout
  203. android:id="@+id/layoutBlock2"
  204. android:layout_width="0dp"
  205. android:layout_height="0dp"
  206. app:layout_constraintTop_toBottomOf="@id/layoutBlock1"
  207. app:layout_constraintStart_toStartOf="parent"
  208. app:layout_constraintEnd_toEndOf="parent"
  209. app:layout_constraintBottom_toBottomOf="parent"
  210. >
  211. <!--
  212. app:layout_constraintTop_toTopOf="parent"
  213. app:layout_constraintStart_toEndOf="@id/splitHorizontalLayout"
  214. android:layout_marginLeft="8dp"
  215. android:layout_marginStart="8dp"
  216. -->
  217. <ScrollView
  218. android:id="@+id/scrollViewMetadata"
  219. android:layout_width="match_parent"
  220. android:layout_height="0dp"
  221. android:layout_marginBottom="12dp"
  222. android:fillViewport="true"
  223. app:layout_constraintBottom_toTopOf="@id/progressBar"
  224. app:layout_constraintEnd_toEndOf="parent"
  225. app:layout_constraintHorizontal_bias="0.0"
  226. app:layout_constraintStart_toStartOf="parent"
  227. app:layout_constraintTop_toTopOf="parent">
  228. <androidx.constraintlayout.widget.ConstraintLayout
  229. android:layout_width="match_parent"
  230. android:layout_height="wrap_content"
  231. android:orientation="vertical"
  232. app:layout_constraintBottom_toTopOf="@id/progressBar">
  233. <TextView
  234. android:id="@+id/text_song_title"
  235. android:layout_width="match_parent"
  236. android:layout_height="wrap_content"
  237. android:gravity="bottom"
  238. android:text=""
  239. android:textAlignment="center"
  240. android:textColor="@color/whited"
  241. android:textSize="20sp"
  242. app:layout_constraintBottom_toBottomOf="parent"
  243. app:layout_constraintStart_toStartOf="parent" />
  244. <TextView
  245. android:id="@+id/text_song_artist"
  246. android:layout_width="match_parent"
  247. android:layout_height="wrap_content"
  248. android:gravity="bottom"
  249. android:text=""
  250. android:textAlignment="center"
  251. android:textColor="@color/whited3"
  252. android:textSize="20sp"
  253. app:layout_constraintBottom_toTopOf="@id/text_song_title"
  254. app:layout_constraintStart_toStartOf="parent" />
  255. </androidx.constraintlayout.widget.ConstraintLayout>
  256. </ScrollView>
  257. <!-- android:progressDrawable="@drawable/progress_bar_progress" -->
  258. <!-- REMOVE VISIBILITY GONE IF YOU HAVE TIME VALUES TO DISPLAY THE PROGRESS BAR -->
  259. <ProgressBar
  260. android:id="@+id/progressBar"
  261. style="@style/Widget.AppCompat.ProgressBar.Horizontal"
  262. android:layout_width="match_parent"
  263. android:layout_height="@dimen/progress_bar_thickness"
  264. android:layout_gravity="fill_horizontal"
  265. android:progress="70"
  266. android:progressDrawable="@drawable/progress_bar_progress"
  267. app:layout_constraintBottom_toTopOf="@id/play_pause"
  268. tools:layout_editor_absoluteX="0dp"
  269. android:visibility="gone"/>
  270. <!-- REMOVE VISIBILITY GONE IF YOU HAVE TIME VALUES TO DISPLAY THE PROGRESS BAR -->
  271. <TextView
  272. android:id="@+id/endTime"
  273. android:layout_width="44sp"
  274. android:layout_height="wrap_content"
  275. android:layout_marginTop="4dp"
  276. android:gravity="end"
  277. android:text=""
  278. android:textAlignment="textEnd"
  279. app:layout_constraintEnd_toEndOf="@id/progressBar"
  280. app:layout_constraintTop_toBottomOf="@id/progressBar"
  281. android:visibility="gone"/>
  282. <!-- REMOVE VISIBILITY GONE IF YOU HAVE TIME VALUES TO DISPLAY THE PROGRESS BAR -->
  283. <TextView
  284. android:id="@+id/currentTime"
  285. android:layout_width="44sp"
  286. android:layout_height="wrap_content"
  287. android:layout_marginTop="4dp"
  288. android:gravity="start"
  289. android:text=""
  290. android:textAlignment="textStart"
  291. app:layout_constraintStart_toStartOf="@id/progressBar"
  292. app:layout_constraintTop_toBottomOf="@id/progressBar"
  293. android:visibility="gone"/>
  294. <!-- style="?android:attr/progressBarStyleHorizontal" -->
  295. <!-- android:theme="@style/App" -->
  296. <androidx.constraintlayout.widget.Guideline
  297. android:id="@+id/playButtonGuideline"
  298. android:layout_width="wrap_content"
  299. android:layout_height="wrap_content"
  300. android:orientation="horizontal"
  301. app:layout_constraintGuide_percent="0.58" />
  302. <ImageButton
  303. android:id="@+id/play_pause"
  304. android:layout_width="0dp"
  305. android:layout_height="0dp"
  306. android:layout_gravity="center_vertical|center_horizontal"
  307. android:adjustViewBounds="true"
  308. android:background="?attr/selectableItemBackground"
  309. android:contentDescription="play-pause"
  310. android:contextClickable="false"
  311. android:cropToPadding="false"
  312. android:scaleType="fitCenter"
  313. android:layout_marginLeft="8dp"
  314. android:layout_marginRight="8dp"
  315. app:layout_constraintBottom_toBottomOf="parent"
  316. app:layout_constraintEnd_toStartOf="@+id/endTime"
  317. app:layout_constraintStart_toEndOf="@+id/currentTime"
  318. app:layout_constraintTop_toTopOf="@id/playButtonGuideline"
  319. app:srcCompat="@drawable/ic_play"
  320. tools:ignore="HardcodedText"
  321. tools:targetApi="m" />
  322. </androidx.constraintlayout.widget.ConstraintLayout>
  323. <androidx.constraintlayout.widget.Guideline
  324. android:id="@+id/splitVerticalLayout"
  325. android:layout_width="wrap_content"
  326. android:layout_height="wrap_content"
  327. android:orientation="horizontal"
  328. app:layout_constraintGuide_percent="0.33" />
  329. <androidx.constraintlayout.widget.Guideline
  330. android:id="@+id/splitHorizontalLayout"
  331. android:layout_width="wrap_content"
  332. android:layout_height="wrap_content"
  333. android:orientation="vertical"
  334. android:layout_margin="8dp"
  335. app:layout_constraintGuide_percent="0.50" />
  336. </androidx.constraintlayout.widget.ConstraintLayout>