Fit progress slider jumps
This commit is contained in:
parent
e2f3f1569a
commit
fc7c3b30f5
31 changed files with 758 additions and 678 deletions
|
@ -22,7 +22,7 @@ android {
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
|
||||||
applicationId "code.name.monkey.retromusic"
|
applicationId "code.name.monkey.retromusic"
|
||||||
versionCode 401
|
versionCode 403
|
||||||
versionName '3.4.850'
|
versionName '3.4.850'
|
||||||
|
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -8,6 +8,7 @@ import androidx.annotation.IntDef
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.widget.AppCompatTextView
|
import androidx.appcompat.widget.AppCompatTextView
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.adapter.album.AlbumFullWidthAdapter
|
import code.name.monkey.retromusic.adapter.album.AlbumFullWidthAdapter
|
||||||
|
@ -22,7 +23,7 @@ import code.name.monkey.retromusic.model.Playlist
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
|
|
||||||
class HomeAdapter(
|
class HomeAdapter(
|
||||||
private val activity: AppCompatActivity, private val displayMetrics: DisplayMetrics
|
private val activity: AppCompatActivity, private val displayMetrics: DisplayMetrics
|
||||||
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||||
|
|
||||||
private var list = ArrayList<Home>()
|
private var list = ArrayList<Home>()
|
||||||
|
@ -33,12 +34,18 @@ class HomeAdapter(
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||||
val layout = LayoutInflater.from(activity)
|
val layout = LayoutInflater.from(activity)
|
||||||
.inflate(R.layout.section_recycler_view, parent, false)
|
.inflate(R.layout.section_recycler_view, parent, false)
|
||||||
return when (viewType) {
|
return when (viewType) {
|
||||||
RECENT_ARTISTS, TOP_ARTISTS -> ArtistViewHolder(layout)
|
RECENT_ARTISTS, TOP_ARTISTS -> ArtistViewHolder(layout)
|
||||||
PLAYLISTS -> PlaylistViewHolder(layout)
|
PLAYLISTS -> PlaylistViewHolder(layout)
|
||||||
else -> {
|
else -> {
|
||||||
AlbumViewHolder(LayoutInflater.from(activity).inflate(R.layout.metal_section_recycler_view, parent, false))
|
AlbumViewHolder(
|
||||||
|
LayoutInflater.from(activity).inflate(
|
||||||
|
R.layout.metal_section_recycler_view,
|
||||||
|
parent,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +96,6 @@ class HomeAdapter(
|
||||||
const val RECENT_ARTISTS = 2
|
const val RECENT_ARTISTS = 2
|
||||||
const val TOP_ARTISTS = 0
|
const val TOP_ARTISTS = 0
|
||||||
const val PLAYLISTS = 4
|
const val PLAYLISTS = 4
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private inner class AlbumViewHolder(view: View) : AbsHomeViewItem(view) {
|
private inner class AlbumViewHolder(view: View) : AbsHomeViewItem(view) {
|
||||||
|
@ -109,15 +115,13 @@ class HomeAdapter(
|
||||||
if (list.isNotEmpty()) {
|
if (list.isNotEmpty()) {
|
||||||
recyclerView.apply {
|
recyclerView.apply {
|
||||||
show()
|
show()
|
||||||
layoutManager = GridLayoutManager(
|
layoutManager = LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false)
|
||||||
activity, 1, GridLayoutManager.HORIZONTAL, false
|
|
||||||
)
|
|
||||||
val artistAdapter = ArtistAdapter(
|
val artistAdapter = ArtistAdapter(
|
||||||
activity,
|
activity,
|
||||||
list,
|
list,
|
||||||
PreferenceUtil.getInstance(activity).getHomeGridStyle(activity),
|
PreferenceUtil.getInstance(activity).getHomeGridStyle(activity),
|
||||||
false,
|
false,
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
adapter = artistAdapter
|
adapter = artistAdapter
|
||||||
}
|
}
|
||||||
|
@ -134,10 +138,10 @@ class HomeAdapter(
|
||||||
recyclerView.apply {
|
recyclerView.apply {
|
||||||
show()
|
show()
|
||||||
val songAdapter = SongAdapter(
|
val songAdapter = SongAdapter(
|
||||||
activity, songs, R.layout.item_album_card, false, null
|
activity, songs, R.layout.item_album_card, false, null
|
||||||
)
|
)
|
||||||
layoutManager = GridLayoutManager(
|
layoutManager = GridLayoutManager(
|
||||||
activity, 1, GridLayoutManager.HORIZONTAL, false
|
activity, 1, GridLayoutManager.HORIZONTAL, false
|
||||||
)
|
)
|
||||||
adapter = songAdapter
|
adapter = songAdapter
|
||||||
|
|
||||||
|
@ -159,7 +163,7 @@ private fun <E> ArrayList<E>.toAlbums(): ArrayList<Album> {
|
||||||
for (x in this) {
|
for (x in this) {
|
||||||
arrayList.add(x as Album)
|
arrayList.add(x as Album)
|
||||||
}
|
}
|
||||||
return arrayList;
|
return arrayList
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <E> ArrayList<E>.toArtists(): ArrayList<Artist> {
|
private fun <E> ArrayList<E>.toArtists(): ArrayList<Artist> {
|
||||||
|
@ -167,7 +171,7 @@ private fun <E> ArrayList<E>.toArtists(): ArrayList<Artist> {
|
||||||
for (x in this) {
|
for (x in this) {
|
||||||
arrayList.add(x as Artist)
|
arrayList.add(x as Artist)
|
||||||
}
|
}
|
||||||
return arrayList;
|
return arrayList
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <E> ArrayList<E>.toPlaylist(): ArrayList<Playlist> {
|
private fun <E> ArrayList<E>.toPlaylist(): ArrayList<Playlist> {
|
||||||
|
@ -175,6 +179,6 @@ private fun <E> ArrayList<E>.toPlaylist(): ArrayList<Playlist> {
|
||||||
for (x in this) {
|
for (x in this) {
|
||||||
arrayList.add(x as Playlist)
|
arrayList.add(x as Playlist)
|
||||||
}
|
}
|
||||||
return arrayList;
|
return arrayList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,6 @@ class AlbumCoverPagerAdapter(
|
||||||
val view = inflater.inflate(finalLayout, container, false)
|
val view = inflater.inflate(finalLayout, container, false)
|
||||||
albumCover = view.findViewById(R.id.player_image)
|
albumCover = view.findViewById(R.id.player_image)
|
||||||
albumCover.setOnClickListener {
|
albumCover.setOnClickListener {
|
||||||
|
|
||||||
NavigationUtil.goToLyrics(requireActivity())
|
NavigationUtil.goToLyrics(requireActivity())
|
||||||
}
|
}
|
||||||
return view
|
return view
|
||||||
|
|
|
@ -13,6 +13,7 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||||
import code.name.monkey.retromusic.R
|
import code.name.monkey.retromusic.R
|
||||||
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
|
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
|
||||||
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
|
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
|
||||||
|
import code.name.monkey.retromusic.extensions.hide
|
||||||
import code.name.monkey.retromusic.glide.ArtistGlideRequest
|
import code.name.monkey.retromusic.glide.ArtistGlideRequest
|
||||||
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||||
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
|
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
|
||||||
|
@ -63,13 +64,13 @@ class ArtistAdapter(
|
||||||
val isChecked = isChecked(artist)
|
val isChecked = isChecked(artist)
|
||||||
holder.itemView.isActivated = isChecked
|
holder.itemView.isActivated = isChecked
|
||||||
holder.title?.text = artist.name
|
holder.title?.text = artist.name
|
||||||
holder.text?.visibility = View.GONE
|
holder.text?.hide()
|
||||||
loadArtistImage(artist, holder)
|
loadArtistImage(artist, holder)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setColors(color: Int, holder: ViewHolder) {
|
fun setColors(color: Int, holder: ViewHolder) {
|
||||||
if (holder.paletteColorContainer != null) {
|
if (holder.paletteColorContainer != null) {
|
||||||
holder.paletteColorContainer?.setBackgroundColor(color)
|
holder.paletteColorContainer?.backgroundTintList = ColorStateList.valueOf(color)
|
||||||
holder.title?.setTextColor(
|
holder.title?.setTextColor(
|
||||||
MaterialValueHelper.getPrimaryTextColor(
|
MaterialValueHelper.getPrimaryTextColor(
|
||||||
activity, ColorUtil.isColorLight(
|
activity, ColorUtil.isColorLight(
|
||||||
|
@ -78,7 +79,7 @@ class ArtistAdapter(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
holder.imageContainerCard?.setCardBackgroundColor(color)
|
||||||
holder.mask?.backgroundTintList = ColorStateList.valueOf(color)
|
holder.mask?.backgroundTintList = ColorStateList.valueOf(color)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -151,8 +151,7 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba
|
||||||
private fun setupToolbar() {
|
private fun setupToolbar() {
|
||||||
|
|
||||||
toolbar.apply {
|
toolbar.apply {
|
||||||
backgroundTintList =
|
backgroundTintList = ColorStateList.valueOf(ATHUtil.resolveColor(requireContext(), R.attr.colorSurface))
|
||||||
ColorStateList.valueOf(ATHUtil.resolveColor(requireContext(), R.attr.colorSurface))
|
|
||||||
setNavigationIcon(R.drawable.ic_menu_white_24dp)
|
setNavigationIcon(R.drawable.ic_menu_white_24dp)
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
val options = ActivityOptions.makeSceneTransitionAnimation(
|
val options = ActivityOptions.makeSceneTransitionAnimation(
|
||||||
|
|
|
@ -14,7 +14,7 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||||
import code.name.monkey.retromusic.transform.CarousalPagerTransformer
|
import code.name.monkey.retromusic.transform.CarousalPagerTransformer
|
||||||
import code.name.monkey.retromusic.transform.ParallaxPagerTransformer
|
import code.name.monkey.retromusic.transform.ParallaxPagerTransformer
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||||
import kotlinx.android.synthetic.main.fragment_player_album_cover.*
|
import kotlinx.android.synthetic.main.fragment_player_album_cover.viewPager
|
||||||
|
|
||||||
|
|
||||||
class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChangeListener {
|
class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChangeListener {
|
||||||
|
@ -44,8 +44,6 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
|
||||||
viewPager.addOnPageChangeListener(this)
|
viewPager.addOnPageChangeListener(this)
|
||||||
//noinspection ConstantConditions
|
//noinspection ConstantConditions
|
||||||
if (PreferenceUtil.getInstance(requireContext()).carouselEffect() &&
|
if (PreferenceUtil.getInstance(requireContext()).carouselEffect() &&
|
||||||
|
@ -60,8 +58,6 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(), ViewPager.OnPageChan
|
||||||
viewPager.offscreenPageLimit = 2
|
viewPager.offscreenPageLimit = 2
|
||||||
viewPager.setPageTransformer(true, PreferenceUtil.getInstance(requireContext()).albumCoverTransform)
|
viewPager.setPageTransformer(true, PreferenceUtil.getInstance(requireContext()).albumCoverTransform)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
|
|
@ -132,6 +132,7 @@ class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
|
||||||
updatePrevNextColor()
|
updatePrevNextColor()
|
||||||
|
|
||||||
text.setTextColor(lastDisabledPlaybackControlsColor)
|
text.setTextColor(lastDisabledPlaybackControlsColor)
|
||||||
|
songInfo.setTextColor(lastDisabledPlaybackControlsColor)
|
||||||
|
|
||||||
TintHelper.setTintAuto(progressSlider, lastPlaybackControlsColor, false)
|
TintHelper.setTintAuto(progressSlider, lastPlaybackControlsColor, false)
|
||||||
volumeFragment?.setTintableColor(lastPlaybackControlsColor)
|
volumeFragment?.setTintableColor(lastPlaybackControlsColor)
|
||||||
|
|
|
@ -90,6 +90,7 @@ class CardBlurPlaybackControlsFragment : AbsPlayerControlsFragment() {
|
||||||
val color = MaterialValueHelper.getPrimaryTextColor(context, false)
|
val color = MaterialValueHelper.getPrimaryTextColor(context, false)
|
||||||
songTotalTime.setTextColor(color)
|
songTotalTime.setTextColor(color)
|
||||||
songCurrentProgress.setTextColor(color)
|
songCurrentProgress.setTextColor(color)
|
||||||
|
songInfo.setTextColor(color)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
|
|
@ -107,7 +107,6 @@ class PlayerPlaybackControlsFragment : AbsPlayerControlsFragment(), OnSharedPref
|
||||||
updatePrevNextColor()
|
updatePrevNextColor()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun updateSong() {
|
private fun updateSong() {
|
||||||
val song = MusicPlayerRemote.currentSong
|
val song = MusicPlayerRemote.currentSong
|
||||||
title.text = song.title
|
title.text = song.title
|
||||||
|
|
|
@ -30,9 +30,9 @@ import code.name.monkey.retromusic.util.RippleUtils
|
||||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||||
|
|
||||||
class BottomNavigationBarTinted @JvmOverloads constructor(
|
class BottomNavigationBarTinted @JvmOverloads constructor(
|
||||||
context: Context,
|
context: Context,
|
||||||
attrs: AttributeSet? = null,
|
attrs: AttributeSet? = null,
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : BottomNavigationView(context, attrs, defStyleAttr) {
|
) : BottomNavigationView(context, attrs, defStyleAttr) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -43,13 +43,21 @@ class BottomNavigationBarTinted @JvmOverloads constructor(
|
||||||
val accentColor = ThemeStore.accentColor(context)
|
val accentColor = ThemeStore.accentColor(context)
|
||||||
NavigationViewUtil.setItemIconColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor)
|
NavigationViewUtil.setItemIconColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor)
|
||||||
NavigationViewUtil.setItemTextColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor)
|
NavigationViewUtil.setItemTextColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor)
|
||||||
itemBackground = RippleDrawable(RippleUtils.convertToRippleDrawableColor(ColorStateList.valueOf(ThemeStore.accentColor(context).addAlpha())), ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background), ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background_mask))
|
itemBackground = RippleDrawable(
|
||||||
|
RippleUtils.convertToRippleDrawableColor(
|
||||||
|
ColorStateList.valueOf(
|
||||||
|
ThemeStore.accentColor(context).addAlpha()
|
||||||
|
)
|
||||||
|
),
|
||||||
|
ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background),
|
||||||
|
ContextCompat.getDrawable(context, R.drawable.bottom_navigation_item_background_mask)
|
||||||
|
)
|
||||||
setOnApplyWindowInsetsListener(null)
|
setOnApplyWindowInsetsListener(null)
|
||||||
//itemRippleColor = ColorStateList.valueOf(accentColor)
|
//itemRippleColor = ColorStateList.valueOf(accentColor)
|
||||||
background = ColorDrawable(ATHUtil.resolveColor(context, R.attr.colorSurface))
|
background = ColorDrawable(ATHUtil.resolveColor(context, R.attr.colorSurface))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Int.addAlpha(): Int {
|
fun Int.addAlpha(): Int {
|
||||||
return ColorUtil.withAlpha(this, 0.12f)
|
return ColorUtil.withAlpha(this, 0.12f)
|
||||||
}
|
}
|
||||||
|
|
21
app/src/main/res/drawable/artist_card_gradient_effect.xml
Normal file
21
app/src/main/res/drawable/artist_card_gradient_effect.xml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2020 Hemanth Savarala.
|
||||||
|
~
|
||||||
|
~ Licensed under the GNU General Public License v3
|
||||||
|
~
|
||||||
|
~ This is free software: you can redistribute it and/or modify it under
|
||||||
|
~ the terms of the GNU General Public License as published by
|
||||||
|
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
~
|
||||||
|
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
~ See the GNU General Public License for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<gradient
|
||||||
|
android:angle="135"
|
||||||
|
android:endColor="@color/semi_transparent"
|
||||||
|
android:startColor="@color/md_blue_500" />
|
||||||
|
</shape>
|
|
@ -11,55 +11,59 @@
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
|
|
||||||
<RelativeLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/progress_slider_height"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
android:gravity="center">
|
||||||
android:layout_marginBottom="8dp"
|
|
||||||
android:paddingStart="12dp"
|
|
||||||
android:paddingEnd="12dp">
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_marginStart="16dp"
|
||||||
android:gravity="center_vertical|left|end"
|
android:gravity="center"
|
||||||
android:paddingLeft="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:22" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/songTotalTime"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:gravity="center_vertical|right|end"
|
|
||||||
android:paddingRight="8dp"
|
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
tools:text="00:22" />
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerVertical="true"
|
android:layout_weight="8"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:maxHeight="2dp"
|
android:maxHeight="2dp"
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:splitTrack="false"
|
android:splitTrack="false"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
tools:progress="20" />
|
tools:progress="20" />
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/songTotalTime"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:minWidth="40dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/playerMediaControllerContainer"
|
android:id="@+id/playerMediaControllerContainer"
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
android:layout_gravity="center">
|
android:layout_gravity="center">
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:id="@+id/player_album_art_frame"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_margin="16dp"
|
android:layout_margin="16dp"
|
||||||
|
|
|
@ -38,16 +38,44 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<com.google.android.material.card.MaterialCardView
|
||||||
|
android:id="@+id/toolbarContainer"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/toolbar_margin_horizontal"
|
||||||
|
android:layout_marginEnd="@dimen/toolbar_margin_horizontal"
|
||||||
|
app:cardCornerRadius="8dp"
|
||||||
|
app:cardUseCompatPadding="true"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_scrollFlags="scroll|enterAlways"
|
||||||
|
app:shapeAppearance="@style/ToolbarCornerCardView">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/toolbar_height"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
|
app:contentInsetStart="0dp"
|
||||||
|
app:contentInsetStartWithNavigation="0dp"
|
||||||
|
app:popupTheme="?toolbarPopupTheme"
|
||||||
|
app:title="@string/search_hint"
|
||||||
|
app:titleMarginStart="0dp"
|
||||||
|
app:titleTextAppearance="@style/ToolbarTextAppearanceSearch"
|
||||||
|
tools:ignore="UnusedAttribute" />
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
android:id="@+id/imageContainer"
|
android:id="@+id/imageContainer"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
app:cardCornerRadius="24dp"
|
app:cardCornerRadius="24dp"
|
||||||
app:cardUseCompatPadding="true"
|
app:cardUseCompatPadding="true"
|
||||||
app:layout_constraintDimensionRatio="16:9"
|
app:layout_constraintDimensionRatio="21:10"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toBottomOf="@id/toolbarContainer">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -62,36 +90,6 @@
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:srcCompat="@tools:sample/backgrounds/scenic[9]" />
|
tools:srcCompat="@tools:sample/backgrounds/scenic[9]" />
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
|
||||||
android:id="@+id/toolbarContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/toolbar_margin_horizontal"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_marginEnd="@dimen/toolbar_margin_horizontal"
|
|
||||||
app:cardBackgroundColor="@android:color/transparent"
|
|
||||||
app:cardCornerRadius="8dp"
|
|
||||||
app:cardUseCompatPadding="true"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_scrollFlags="scroll|enterAlways"
|
|
||||||
app:shapeAppearance="@style/ToolbarCornerCardView">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/toolbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="@dimen/toolbar_height"
|
|
||||||
android:background="?attr/colorSurface"
|
|
||||||
app:contentInsetStart="0dp"
|
|
||||||
app:contentInsetStartWithNavigation="0dp"
|
|
||||||
app:popupTheme="?toolbarPopupTheme"
|
|
||||||
app:title="@string/search_hint"
|
|
||||||
app:titleMarginStart="0dp"
|
|
||||||
app:titleTextAppearance="@style/ToolbarTextAppearanceSearch"
|
|
||||||
tools:ignore="UnusedAttribute" />
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="52dp"
|
android:layout_height="52dp"
|
||||||
|
|
|
@ -22,56 +22,53 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="28dp"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:minWidth="40dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true"
|
android:layout_weight="8"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
android:maxHeight="1.5dp"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:maxHeight="1.5dp"
|
android:splitTrack="false"
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
android:splitTrack="false"
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:progress="20" />
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?colorOnSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/songCurrentProgress"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:gravity="center_vertical|left|end"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="?colorOnSecondary"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:22" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/titleContainer"
|
||||||
|
@ -81,7 +78,7 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer">
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
|
|
|
@ -25,7 +25,8 @@
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?colorOnSecondary"
|
android:textColor="?colorOnSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" />
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:00" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
|
@ -37,7 +38,8 @@
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?colorOnSecondary"
|
android:textColor="?colorOnSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry" />
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:00" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
|
|
|
@ -1,206 +1,206 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/playback_controls"
|
android:id="@+id/playback_controls"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="28dp"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:minWidth="40dp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:singleLine="true"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical|left|end"
|
android:layout_marginTop="8dp"
|
||||||
android:paddingLeft="8dp"
|
android:layout_weight="8"
|
||||||
android:singleLine="true"
|
android:maxHeight="2dp"
|
||||||
android:textSize="12sp"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
android:splitTrack="false"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="12sp"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
android:textSize="12sp"
|
||||||
tools:text="04:22" />
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<LinearLayout
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/titleContainer"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
app:layout_constraintBottom_toTopOf="@+id/text"
|
||||||
android:layout_centerVertical="true"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:maxHeight="2dp"
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider">
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
|
||||||
tools:progress="20" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/title"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/text"
|
android:layout_gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:ellipsize="marquee"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
android:focusable="true"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:focusableInTouchMode="true"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer">
|
android:freezesText="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:marqueeRepeatLimit="marquee_forever"
|
||||||
|
android:paddingStart="16dp"
|
||||||
|
android:paddingEnd="16dp"
|
||||||
|
android:scrollHorizontally="true"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textAppearance="@style/TextViewHeadline6"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="@tools:sample/lorem/random" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:ellipsize="marquee"
|
android:ellipsize="end"
|
||||||
android:focusable="true"
|
android:gravity="center"
|
||||||
android:focusableInTouchMode="true"
|
android:maxLines="2"
|
||||||
android:freezesText="true"
|
android:paddingStart="16dp"
|
||||||
android:gravity="center"
|
android:paddingEnd="16dp"
|
||||||
android:marqueeRepeatLimit="marquee_forever"
|
android:textAppearance="@style/TextViewBody1"
|
||||||
android:paddingStart="16dp"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:paddingEnd="16dp"
|
app:layout_constraintBottom_toTopOf="@+id/songInfo"
|
||||||
android:scrollHorizontally="true"
|
app:layout_constraintTop_toBottomOf="@+id/titleContainer"
|
||||||
android:singleLine="true"
|
tools:text="@tools:sample/lorem/random" />
|
||||||
android:textAppearance="@style/TextViewHeadline6"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@tools:sample/lorem/random" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/text"
|
android:id="@+id/songInfo"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp"
|
||||||
android:textAppearance="@style/TextViewBody1"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textSize="12sp"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/songInfo"
|
app:layout_constraintBottom_toTopOf="@+id/playPauseButton"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/titleContainer"
|
app:layout_constraintTop_toBottomOf="@+id/text"
|
||||||
tools:text="@tools:sample/lorem/random" />
|
tools:text="@tools:sample/lorem/random" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/songInfo"
|
android:id="@+id/repeatButton"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:background="?attr/roundSelector"
|
||||||
android:ellipsize="end"
|
android:padding="16dp"
|
||||||
android:gravity="center"
|
android:scaleType="fitCenter"
|
||||||
android:maxLines="2"
|
app:layout_constraintBottom_toBottomOf="@+id/previousButton"
|
||||||
android:paddingStart="16dp"
|
app:layout_constraintEnd_toStartOf="@+id/previousButton"
|
||||||
android:paddingEnd="16dp"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
android:textSize="12sp"
|
app:layout_constraintTop_toTopOf="@+id/previousButton"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playPauseButton"
|
app:srcCompat="@drawable/ic_repeat_white_24dp"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/text"
|
tools:ignore="MissingPrefix"
|
||||||
tools:text="@tools:sample/lorem/random" />
|
tools:tint="@color/md_black_1000" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/repeatButton"
|
android:id="@+id/previousButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/roundSelector"
|
android:background="?attr/roundSelector"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/previousButton"
|
app:layout_constraintBottom_toBottomOf="@+id/playPauseButton"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/previousButton"
|
app:layout_constraintEnd_toStartOf="@+id/playPauseButton"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintStart_toEndOf="@+id/repeatButton"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintTop_toTopOf="@+id/playPauseButton"
|
||||||
app:layout_constraintTop_toTopOf="@+id/previousButton"
|
app:srcCompat="@drawable/ic_skip_previous_white_24dp"
|
||||||
app:srcCompat="@drawable/ic_repeat_white_24dp"
|
tools:ignore="MissingPrefix"
|
||||||
tools:ignore="MissingPrefix"
|
tools:tint="@color/md_black_1000" />
|
||||||
tools:tint="@color/md_black_1000" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/previousButton"
|
android:id="@+id/playPauseButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/roundSelector"
|
android:background="?attr/roundSelector"
|
||||||
android:padding="16dp"
|
app:layout_constraintBottom_toTopOf="@+id/volumeFragmentContainer"
|
||||||
android:scaleType="fitCenter"
|
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playPauseButton"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playPauseButton"
|
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
||||||
app:layout_constraintStart_toEndOf="@+id/repeatButton"
|
app:layout_constraintTop_toBottomOf="@+id/songInfo"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playPauseButton"
|
app:srcCompat="@drawable/ic_pause_white_64dp"
|
||||||
app:srcCompat="@drawable/ic_skip_previous_white_24dp"
|
tools:tint="@color/md_black_1000" />
|
||||||
tools:ignore="MissingPrefix"
|
|
||||||
tools:tint="@color/md_black_1000" />
|
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/playPauseButton"
|
android:id="@+id/nextButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/roundSelector"
|
android:background="?attr/roundSelector"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/volumeFragmentContainer"
|
android:padding="16dp"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
android:scaleType="fitCenter"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintBottom_toBottomOf="@+id/playPauseButton"
|
||||||
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
app:layout_constraintEnd_toStartOf="@+id/shuffleButton"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/songInfo"
|
app:layout_constraintStart_toEndOf="@+id/playPauseButton"
|
||||||
app:srcCompat="@drawable/ic_pause_white_64dp"
|
app:layout_constraintTop_toTopOf="@+id/playPauseButton"
|
||||||
tools:tint="@color/md_black_1000" />
|
app:srcCompat="@drawable/ic_skip_next_white_24dp"
|
||||||
|
tools:ignore="MissingPrefix"
|
||||||
|
tools:tint="@color/md_black_1000" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/nextButton"
|
android:id="@+id/shuffleButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/roundSelector"
|
android:background="?attr/roundSelector"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playPauseButton"
|
app:layout_constraintBottom_toBottomOf="@+id/nextButton"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/shuffleButton"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playPauseButton"
|
app:layout_constraintStart_toEndOf="@+id/nextButton"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playPauseButton"
|
app:layout_constraintTop_toTopOf="@+id/nextButton"
|
||||||
app:srcCompat="@drawable/ic_skip_next_white_24dp"
|
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
||||||
tools:ignore="MissingPrefix"
|
tools:ignore="MissingPrefix"
|
||||||
tools:tint="@color/md_black_1000" />
|
tools:tint="@color/md_black_1000" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<FrameLayout
|
||||||
android:id="@+id/shuffleButton"
|
android:id="@+id/volumeFragmentContainer"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/roundSelector"
|
android:layout_weight="0"
|
||||||
android:padding="16dp"
|
android:paddingStart="8dp"
|
||||||
android:scaleType="fitCenter"
|
android:paddingEnd="8dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/nextButton"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
tools:backgroundTint="@color/md_red_400"
|
||||||
app:layout_constraintStart_toEndOf="@+id/nextButton"
|
tools:layout_height="52dp" />
|
||||||
app:layout_constraintTop_toTopOf="@+id/nextButton"
|
|
||||||
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
|
||||||
tools:ignore="MissingPrefix"
|
|
||||||
tools:tint="@color/md_black_1000" />
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/volumeFragmentContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0"
|
|
||||||
android:paddingStart="8dp"
|
|
||||||
android:paddingEnd="8dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
tools:backgroundTint="@color/md_red_400"
|
|
||||||
tools:layout_height="52dp" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -9,48 +9,53 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/progressContainer"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/progress_container_height"
|
android:layout_height="@dimen/progress_container_height"
|
||||||
android:background="@color/twenty_percent_black_overlay"
|
android:background="@color/twenty_percent_black_overlay"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/songCurrentProgress"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:gravity="center_vertical|left|end"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:22" />
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:gravity="center_vertical|left|end"
|
||||||
android:gravity="center_vertical|right|end"
|
android:paddingStart="8dp"
|
||||||
android:paddingRight="8dp"
|
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
tools:text="00:22" />
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
style="@style/MusicProgressSlider"
|
style="@style/MusicProgressSlider"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute" />
|
tools:ignore="RtlHardcoded,UnusedAttribute" />
|
||||||
|
|
||||||
</RelativeLayout>
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/songTotalTime"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_vertical|right|end"
|
||||||
|
android:paddingEnd="8dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/titleContainer"
|
||||||
|
|
|
@ -8,54 +8,51 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/progress_container_height"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:minWidth="40dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_weight="8"
|
||||||
android:gravity="center_vertical|left|end"
|
android:splitTrack="false"
|
||||||
android:paddingLeft="8dp"
|
android:thumb="@drawable/switch_square"
|
||||||
android:singleLine="true"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
android:textSize="12sp"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
tools:text="@tools:sample/date/hhmm" />
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="@tools:sample/date/hhmm" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
|
||||||
android:id="@+id/progressSlider"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:splitTrack="false"
|
|
||||||
android:thumb="@drawable/switch_square"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
|
||||||
tools:progress="20" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songInfo"
|
android:id="@+id/songInfo"
|
||||||
|
@ -76,7 +73,7 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0"
|
app:layout_constraintHorizontal_bias="0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer"
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="@tools:sample/full_names" />
|
tools:text="@tools:sample/full_names" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
|
|
@ -71,51 +71,52 @@
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="8dp"
|
android:gravity="center"
|
||||||
android:gravity="center_vertical|left|end"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="@color/md_white_1000"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/progressSlider"
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
tools:text="00:00" />
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/songTotalTime"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
android:gravity="center_vertical|right|end"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="@color/md_white_1000"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/progressSlider"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:00" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
android:layout_weight="8"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:maxHeight="3dp"
|
android:maxHeight="3dp"
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:splitTrack="false"
|
android:splitTrack="false"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:thumb="@drawable/switch_thumb_material"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/text"
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/text"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
tools:progress="20" />
|
tools:progress="20" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/songTotalTime"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:minWidth="40dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/repeatButton"
|
android:id="@+id/repeatButton"
|
||||||
|
@ -160,7 +161,7 @@
|
||||||
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/songCurrentProgress"
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider"
|
||||||
app:srcCompat="@drawable/ic_pause_white_64dp"
|
app:srcCompat="@drawable/ic_pause_white_64dp"
|
||||||
tools:tint="@color/md_black_1000" />
|
tools:tint="@color/md_black_1000" />
|
||||||
|
|
||||||
|
|
|
@ -9,55 +9,53 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="28dp"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/titleContainer"
|
android:minWidth="40dp"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/progressSlider"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
android:layout_weight="8"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
android:maxHeight="3dp"
|
||||||
android:maxHeight="3dp"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
android:splitTrack="false"
|
||||||
android:splitTrack="false"
|
android:thumb="@drawable/switch_thumb_material"
|
||||||
android:thumb="@drawable/switch_thumb_material"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
tools:progress="20" />
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
<com.google.android.material.textview.MaterialTextView
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
android:id="@+id/songCurrentProgress"
|
tools:text="00:22" />
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:gravity="center_vertical|left|end"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:22" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/titleContainer"
|
||||||
|
@ -66,7 +64,7 @@
|
||||||
app:layout_constraintBottom_toTopOf="@+id/text"
|
app:layout_constraintBottom_toTopOf="@+id/text"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer">
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
|
|
|
@ -9,57 +9,53 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/progress_slider_height"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:minWidth="40dp"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical|left|end"
|
android:layout_marginTop="8dp"
|
||||||
android:paddingLeft="8dp"
|
android:layout_weight="8"
|
||||||
android:singleLine="true"
|
android:maxHeight="3dp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:textSize="12sp"
|
android:splitTrack="false"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
tools:text="00:22" />
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
android:id="@+id/progressSlider"
|
tools:text="00:22" />
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:maxHeight="3dp"
|
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
|
||||||
android:splitTrack="false"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
|
||||||
tools:progress="20" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/titleContainer"
|
||||||
|
@ -69,7 +65,7 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer">
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
|
|
|
@ -19,57 +19,53 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/progress_slider_height"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingStart="12dp"
|
android:gravity="center"
|
||||||
android:paddingEnd="12dp"
|
android:minWidth="40dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical|left|end"
|
android:layout_marginTop="16dp"
|
||||||
android:paddingLeft="8dp"
|
android:layout_weight="8"
|
||||||
android:singleLine="true"
|
android:maxHeight="3dp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:textSize="12sp"
|
android:splitTrack="false"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
tools:text="00:22" />
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
android:id="@+id/progressSlider"
|
tools:text="00:22" />
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:maxHeight="3dp"
|
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
|
||||||
android:splitTrack="false"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
|
||||||
tools:progress="20" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/playPauseButton"
|
android:id="@+id/playPauseButton"
|
||||||
|
@ -82,7 +78,7 @@
|
||||||
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer"
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider"
|
||||||
app:srcCompat="@drawable/ic_pause_white_24dp"
|
app:srcCompat="@drawable/ic_pause_white_24dp"
|
||||||
tools:tint="@color/md_black_1000" />
|
tools:tint="@color/md_black_1000" />
|
||||||
|
|
||||||
|
|
|
@ -7,57 +7,53 @@
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<RelativeLayout
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressContainer"
|
android:id="@+id/songCurrentProgress"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="28dp"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="12dp"
|
android:layout_marginStart="16dp"
|
||||||
android:paddingEnd="12dp"
|
android:gravity="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:minWidth="40dp"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songCurrentProgress"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical|left|end"
|
android:layout_weight="8"
|
||||||
android:paddingLeft="8dp"
|
android:maxHeight="3dp"
|
||||||
android:singleLine="true"
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:splitTrack="false"
|
||||||
android:textSize="12sp"
|
app:layout_constraintBottom_toTopOf="@+id/playPauseButton"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
tools:text="00:22" />
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/songTotalTime"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="40dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical|right|end"
|
android:gravity="center"
|
||||||
android:paddingRight="8dp"
|
android:minWidth="40dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:text="00:22" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/progressSlider"
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
android:id="@+id/progressSlider"
|
tools:text="00:22" />
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
|
||||||
android:maxHeight="2dp"
|
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
|
||||||
android:splitTrack="false"
|
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
|
||||||
tools:progress="20" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageButton
|
<androidx.appcompat.widget.AppCompatImageButton
|
||||||
android:id="@+id/repeatButton"
|
android:id="@+id/repeatButton"
|
||||||
|
@ -98,7 +94,7 @@
|
||||||
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
app:layout_constraintEnd_toStartOf="@+id/nextButton"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
app:layout_constraintStart_toEndOf="@+id/previousButton"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer"
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider"
|
||||||
tools:backgroundTint="@color/md_green_500"
|
tools:backgroundTint="@color/md_green_500"
|
||||||
tools:srcCompat="@drawable/ic_play_arrow_white_32dp" />
|
tools:srcCompat="@drawable/ic_play_arrow_white_32dp" />
|
||||||
|
|
||||||
|
@ -139,7 +135,8 @@
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:paddingStart="8dp"
|
android:paddingStart="8dp"
|
||||||
android:paddingEnd="8dp"
|
android:paddingEnd="8dp"
|
||||||
app:layout_constraintBottom_toTopOf="@id/songInfo"
|
app:layout_constraintBottom_toTopOf="@+id/songInfo"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/playPauseButton"
|
||||||
tools:backgroundTint="@color/md_red_400"
|
tools:backgroundTint="@color/md_red_400"
|
||||||
tools:layout_height="52dp" />
|
tools:layout_height="52dp" />
|
||||||
|
|
||||||
|
@ -156,8 +153,7 @@
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:textSize="12sp"
|
android:textSize="12sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/volumeFragmentContainer"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
tools:text="@tools:sample/lorem/random" />
|
tools:text="@tools:sample/lorem/random" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
|
@ -9,55 +9,55 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingPrefix">
|
tools:ignore="MissingPrefix">
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/progressContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="28dp"
|
|
||||||
android:paddingStart="12dp"
|
|
||||||
android:paddingEnd="12dp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatSeekBar
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/progressSlider"
|
android:id="@+id/songCurrentProgress"
|
||||||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_toLeftOf="@id/songTotalTime"
|
android:gravity="center"
|
||||||
android:layout_toRightOf="@id/songCurrentProgress"
|
android:minWidth="40dp"
|
||||||
android:maxHeight="3dp"
|
android:singleLine="true"
|
||||||
android:progressDrawable="@drawable/color_progress_seek"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
android:splitTrack="false"
|
android:textSize="12sp"
|
||||||
android:thumb="@drawable/switch_thumb_material"
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
tools:ignore="RtlHardcoded,UnusedAttribute"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:progress="20" />
|
app:layout_constraintTop_toTopOf="@id/progressSlider"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<androidx.appcompat.widget.AppCompatSeekBar
|
||||||
android:id="@+id/songTotalTime"
|
android:id="@+id/progressSlider"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||||
android:layout_height="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="8"
|
||||||
|
android:maxHeight="3dp"
|
||||||
|
android:progressDrawable="@drawable/color_progress_seek"
|
||||||
|
android:splitTrack="false"
|
||||||
|
android:thumb="@drawable/switch_thumb_material"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/songTotalTime"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/songCurrentProgress"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,UnusedAttribute"
|
||||||
|
tools:progress="20" />
|
||||||
|
|
||||||
android:gravity="center_vertical|right|end"
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:paddingRight="8dp"
|
android:id="@+id/songTotalTime"
|
||||||
android:singleLine="true"
|
android:layout_width="40dp"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="12sp"
|
android:layout_marginEnd="16dp"
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
android:gravity="center"
|
||||||
tools:text="00:22" />
|
android:minWidth="40dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/progressSlider"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
|
tools:text="00:22" />
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
|
||||||
android:id="@+id/songCurrentProgress"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:gravity="center_vertical|left|end"
|
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
|
||||||
android:textSize="12sp"
|
|
||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
|
||||||
tools:text="00:22" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/titleContainer"
|
android:id="@+id/titleContainer"
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
app:layout_constraintBottom_toTopOf="@+id/text"
|
app:layout_constraintBottom_toTopOf="@+id/text"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/progressContainer">
|
app:layout_constraintTop_toBottomOf="@+id/progressSlider">
|
||||||
|
|
||||||
<com.google.android.material.textview.MaterialTextView
|
<com.google.android.material.textview.MaterialTextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
|
|
56
app/src/main/res/layout/item_artist_card.xml
Normal file
56
app/src/main/res/layout/item_artist_card.xml
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
~ Copyright (c) 2020 Hemanth Savarala.
|
||||||
|
~
|
||||||
|
~ Licensed under the GNU General Public License v3
|
||||||
|
~
|
||||||
|
~ This is free software: you can redistribute it and/or modify it under
|
||||||
|
~ the terms of the GNU General Public License as published by
|
||||||
|
~ the Free Software Foundation either version 3 of the License, or (at your option) any later version.
|
||||||
|
~
|
||||||
|
~ This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
~ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
~ See the GNU General Public License for more details.
|
||||||
|
-->
|
||||||
|
<com.google.android.material.card.MaterialCardView 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="128dp"
|
||||||
|
android:layout_height="128dp"
|
||||||
|
app:cardCornerRadius="16dp"
|
||||||
|
app:cardUseCompatPadding="true">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/paletteColorContainer"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/artist_card_gradient_effect">
|
||||||
|
|
||||||
|
<code.name.monkey.retromusic.views.CircularImageView
|
||||||
|
android:id="@+id/image"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
app:civ_border_width="0dp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:src="@tools:sample/avatars" />
|
||||||
|
|
||||||
|
<com.google.android.material.textview.MaterialTextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/image"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/image"
|
||||||
|
tools:text="@tools:sample/full_names" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
|
@ -2,6 +2,7 @@
|
||||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/imageContainerCard"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/rectSelector"
|
android:background="?attr/rectSelector"
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
android:minHeight="40dp"
|
android:minHeight="40dp"
|
||||||
android:textAppearance="@style/TextViewSubtitle2"
|
android:textAppearance="@style/TextViewSubtitle2"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:text="1"
|
tools:text="100"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
@ -81,18 +81,21 @@
|
||||||
<item>@string/circular</item>
|
<item>@string/circular</item>
|
||||||
<item>@string/card_color_style</item>
|
<item>@string/card_color_style</item>
|
||||||
<item>@string/card_style</item>
|
<item>@string/card_style</item>
|
||||||
|
<item>@string/tiny_card_style</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="pref_home_grid_style_list_values">
|
<string-array name="pref_home_grid_style_list_values">
|
||||||
<item>0</item>
|
<item>0</item>
|
||||||
<item>1</item>
|
<item>1</item>
|
||||||
<item>2</item>
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<array name="pref_home_grid_style_layout">
|
<array name="pref_home_grid_style_layout">
|
||||||
<item>@layout/item_artist</item>
|
<item>@layout/item_artist</item>
|
||||||
<item>@layout/item_artist_square</item>
|
<item>@layout/item_artist_square</item>
|
||||||
<item>@layout/item_album_card</item>
|
<item>@layout/item_album_card</item>
|
||||||
|
<item>@layout/item_artist_card</item>
|
||||||
</array>
|
</array>
|
||||||
|
|
||||||
|
|
||||||
|
@ -176,4 +179,5 @@
|
||||||
<item>@layout/activity_album</item>
|
<item>@layout/activity_album</item>
|
||||||
</array>
|
</array>
|
||||||
|
|
||||||
|
<string name="tiny_card_style">Tiny card</string>
|
||||||
</resources>
|
</resources>
|
|
@ -29,6 +29,7 @@
|
||||||
<color name="blackColorSurface">#000000</color>
|
<color name="blackColorSurface">#000000</color>
|
||||||
|
|
||||||
<color name="transparent">#00000000</color>
|
<color name="transparent">#00000000</color>
|
||||||
|
<color name="semi_transparent">#40000000</color>
|
||||||
<!-- card colors -->
|
<!-- card colors -->
|
||||||
<color name="card_background">#ffffff</color>
|
<color name="card_background">#ffffff</color>
|
||||||
<color name="card_shadow_1">#d4d4d4</color>
|
<color name="card_shadow_1">#d4d4d4</color>
|
||||||
|
|
Loading…
Reference in a new issue