fragment_nowplaying.xml 16KB

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