MD3 look for Smart playlist buttons

This commit is contained in:
Prathamesh More 2021-12-12 20:58:58 +05:30
parent 5d8ad186d5
commit 58feab5c23
5 changed files with 72 additions and 138 deletions

View file

@ -120,6 +120,14 @@ fun MaterialButton.accentOutlineColor() {
rippleColor = colorStateList
}
fun MaterialButton.elevatedAccentColor() {
if (materialYou) return
val color = ThemeStore.accentColor(context)
val colorStateList = ColorStateList.valueOf(color)
iconTint = colorStateList
rippleColor = colorStateList
}
fun SeekBar.applyColor(@ColorInt color: Int) {
thumbTintList = ColorStateList.valueOf(color)
progressTintList = ColorStateList.valueOf(color)

View file

@ -37,6 +37,7 @@ import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.drawNextToNavbar
import code.name.monkey.retromusic.extensions.elevatedAccentColor
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.glide.GlideApp
import code.name.monkey.retromusic.glide.RetroGlideExtension
@ -76,6 +77,7 @@ class HomeFragment :
loadProfile()
setupTitle()
colorButtons()
postponeEnterTransition()
view.doOnPreDraw { startPostponedEnterTransition() }
binding.appBarLayout.statusBarForeground =
@ -173,6 +175,13 @@ class HomeFragment :
.into(binding.userImage)
}
fun colorButtons() {
binding.history.elevatedAccentColor()
binding.lastAdded.elevatedAccentColor()
binding.topPlayed.elevatedAccentColor()
binding.actionShuffle.elevatedAccentColor()
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
super.onCreateOptionsMenu(menu, inflater)
inflater.inflate(R.menu.menu_main, menu)

View file

@ -6,155 +6,60 @@
android:orientation="vertical"
android:paddingBottom="12dp">
<androidx.constraintlayout.widget.ConstraintLayout
<com.google.android.material.button.MaterialButton
android:id="@+id/history"
style="@style/HomeActionButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text="@string/history"
app:icon="@drawable/ic_history"
app:layout_constraintEnd_toStartOf="@+id/lastAdded"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintTop_toTopOf="parent" />
<code.name.monkey.retromusic.views.ColorIconsImageView
android:id="@+id/v1"
android:layout_width="@dimen/adaptive_icon_size"
android:layout_height="@dimen/adaptive_icon_size"
android:layout_gravity="center"
android:padding="@dimen/adaptive_icon_padding"
app:iconBackgroundColor="@color/md_blue_500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_history" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="center"
android:paddingTop="8dp"
android:text="@string/history"
android:textAppearance="@style/TextViewNormalCompress"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/v1" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<com.google.android.material.button.MaterialButton
android:id="@+id/lastAdded"
style="@style/HomeActionButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="@+id/topPlayed"
android:layout_marginEnd="16dp"
android:text="@string/last_added"
app:icon="@drawable/ic_library_add"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/history"
app:layout_constraintTop_toTopOf="@+id/history">
app:layout_constraintTop_toTopOf="@+id/history" />
<code.name.monkey.retromusic.views.ColorIconsImageView
android:id="@+id/v2"
android:layout_width="@dimen/adaptive_icon_size"
android:layout_height="@dimen/adaptive_icon_size"
android:layout_gravity="center"
android:padding="@dimen/adaptive_icon_padding"
app:iconBackgroundColor="@color/md_red_500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_library_add" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="center"
android:paddingTop="8dp"
android:text="@string/last_added"
android:textAppearance="@style/TextViewNormalCompress"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/v2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<com.google.android.material.button.MaterialButton
android:id="@+id/topPlayed"
style="@style/HomeActionButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/my_top_tracks"
app:icon="@drawable/ic_trending_up"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@+id/actionShuffle"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/lastAdded"
app:layout_constraintTop_toTopOf="@+id/lastAdded">
app:layout_constraintStart_toStartOf="@+id/history"
app:layout_constraintTop_toBottomOf="@+id/history" />
<code.name.monkey.retromusic.views.ColorIconsImageView
android:id="@+id/v3"
android:layout_width="@dimen/adaptive_icon_size"
android:layout_height="@dimen/adaptive_icon_size"
android:layout_gravity="center"
android:padding="@dimen/adaptive_icon_padding"
app:iconBackgroundColor="@color/md_deep_purple_500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_trending_up" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="center"
android:paddingTop="8dp"
android:text="@string/my_top_tracks"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/v3" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
<com.google.android.material.button.MaterialButton
android:id="@+id/actionShuffle"
style="@style/HomeActionButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp"
android:text="@string/shuffle"
app:icon="@drawable/ic_shuffle"
app:layout_constraintEnd_toEndOf="@+id/lastAdded"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/topPlayed"
app:layout_constraintTop_toTopOf="@+id/topPlayed">
app:layout_constraintTop_toBottomOf="@+id/lastAdded" />
<code.name.monkey.retromusic.views.ColorIconsImageView
android:id="@+id/v4"
android:layout_width="@dimen/adaptive_icon_size"
android:layout_height="@dimen/adaptive_icon_size"
android:layout_gravity="center"
android:padding="@dimen/adaptive_icon_padding"
app:iconBackgroundColor="@color/md_green_500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_shuffle" />
<com.google.android.material.textview.MaterialTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:gravity="center"
android:paddingTop="8dp"
android:text="@string/shuffle"
android:textAppearance="@style/TextViewNormalCompress"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/v4" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.Group
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="history,lastAdded,topPlayed,actionShuffle" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -222,6 +222,18 @@
<item name="android:windowSoftInputMode">adjustResize|stateVisible</item>
</style>
<style name="HomeActionButton" parent="Widget.Material3.Button.ElevatedButton.Icon">
<item name="android:padding">16dp</item>
<item name="android:textColor">?attr/colorOnSurface</item>
<item name="shapeAppearanceOverlay">
@style/ShapeAppearanceOverlay.Material3.FloatingActionButton
</item>
<item name="iconPadding">16dp</item>
<item name="iconGravity">start</item>
<item name="android:gravity">start|center_vertical</item>
<item name="android:textAppearance">@style/TextViewBody2</item>
</style>
<style name="CarTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/md_deep_purple_700</item>
<item name="colorAccent">@color/md_deep_purple_A400</item>

View file

@ -64,7 +64,7 @@
<item name="popupMenuStyle">@style/MaterialPopupMenuStyle</item>
<item name="materialCardViewStyle">@style/Widget.Material3.CardView.Elevated</item>
<item name="bottomSheetTint">@color/bottomSheetColorBlack</item>
<item name="elevationOverlayColor">@color/elevationOverlayBlack</item>
<item name="elevationOverlayColor">@color/elevationOverlayDark</item>
<item name="floatingActionButtonStyle">
@style/Widget.MaterialComponents.FloatingActionButton
</item>