style: add dialog black theme support
Make dialogs properly follow the black theme. This should complete the black theme addition as now all parts of Auxio follow the new theme.
This commit is contained in:
parent
381c0f0944
commit
5dc7b52fc3
6 changed files with 37 additions and 24 deletions
|
@ -51,7 +51,6 @@ I primarily built Auxio for myself, but you can use it too, I guess.
|
||||||
## To possibly come in the future:
|
## To possibly come in the future:
|
||||||
|
|
||||||
- Artist Images
|
- Artist Images
|
||||||
- Black theme
|
|
||||||
- Custom accents
|
- Custom accents
|
||||||
- Playlists
|
- Playlists
|
||||||
- Liked songs
|
- Liked songs
|
||||||
|
|
|
@ -5,9 +5,11 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatDialogFragment
|
import androidx.appcompat.app.AppCompatDialogFragment
|
||||||
|
import androidx.core.graphics.drawable.toDrawable
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
|
import org.oxycblt.auxio.ui.resolveAttr
|
||||||
import org.oxycblt.auxio.ui.toDrawable
|
import org.oxycblt.auxio.ui.toDrawable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,7 +22,7 @@ abstract class LifecycleDialog : AppCompatDialogFragment() {
|
||||||
|
|
||||||
// Setting the background in XML will also apply it to the tooltip for some inane reason
|
// Setting the background in XML will also apply it to the tooltip for some inane reason
|
||||||
// so we have to do it programmatically instead.
|
// so we have to do it programmatically instead.
|
||||||
builder.background = R.color.surface_color.toDrawable(requireContext())
|
builder.background = R.attr.colorSurface.resolveAttr(requireContext()).toDrawable()
|
||||||
|
|
||||||
onConfigDialog(builder)
|
onConfigDialog(builder)
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,8 @@
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/colorSurface"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="@dimen/spacing_small"
|
android:paddingTop="@dimen/spacing_small">
|
||||||
android:theme="@style/Theme.Neutral">
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/blacklist_recycler"
|
android:id="@+id/blacklist_recycler"
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/blacklist_clear"
|
android:id="@+id/blacklist_clear"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
|
android:tint="?attr/colorControlNormal"
|
||||||
android:layout_width="@dimen/size_clear"
|
android:layout_width="@dimen/size_clear"
|
||||||
android:layout_height="@dimen/size_clear"
|
android:layout_height="@dimen/size_clear"
|
||||||
android:contentDescription="@string/description_blacklist_delete"
|
android:contentDescription="@string/description_blacklist_delete"
|
||||||
|
|
|
@ -9,24 +9,26 @@
|
||||||
<item name="cornerRadius">0dp</item>
|
<item name="cornerRadius">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Toolbar popup menu -->
|
<style name="ThemeOverlay.ToolbarPopup.Base" parent="ThemeOverlay.AppCompat.DayNight">
|
||||||
<style name="ThemeOverlay.ToolbarPopup" parent="ThemeOverlay.AppCompat.DayNight">
|
|
||||||
<item name="android:colorBackground">?attr/colorSurface</item>
|
<item name="android:colorBackground">?attr/colorSurface</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Toolbar popup menu -->
|
||||||
|
<style name="ThemeOverlay.ToolbarPopup" parent="ThemeOverlay.ToolbarPopup.Base">
|
||||||
<item name="colorControlHighlight">@color/selection_color</item>
|
<item name="colorControlHighlight">@color/selection_color</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Toolbar popup menu [Black] -->
|
<!-- Toolbar popup menu [Black] -->
|
||||||
<style name="ThemeOverlay.ToolbarPopup.Black" parent="ThemeOverlay.ToolbarPopup">
|
<style name="ThemeOverlay.ToolbarPopup.Black" parent="ThemeOverlay.ToolbarPopup.Base">
|
||||||
<item name="colorControlHighlight">@color/selection_color_black</item>
|
<item name="colorControlHighlight">@color/selection_color_black</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Custom Dialog EntryNames -->
|
<!-- Base custom dialog theme. Don't try to understand this. -->
|
||||||
<style name="Theme.CustomDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
|
<style name="Theme.CustomDialog.Base" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
|
||||||
<item name="android:colorControlHighlight">@color/selection_color</item>
|
<item name="android:colorControlHighlight">?attr/colorControlHighlight</item>
|
||||||
<item name="android:checkedTextViewStyle">@style/Widget.CheckedTextView.Dialog</item>
|
<item name="android:checkedTextViewStyle">@style/Widget.CheckedTextView.Dialog</item>
|
||||||
|
|
||||||
<item name="materialAlertDialogTitleTextStyle">@style/Widget.TextView.Dialog.Title</item>
|
<item name="materialAlertDialogTitleTextStyle">@style/Widget.TextView.Dialog.Title</item>
|
||||||
<item name="colorBackgroundFloating">@color/surface_color</item>
|
|
||||||
<item name="alertDialogStyle">@style/MaterialAlertDialog.App</item>
|
<item name="alertDialogStyle">@style/MaterialAlertDialog.App</item>
|
||||||
|
|
||||||
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.Dialog</item>
|
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.Dialog</item>
|
||||||
|
@ -34,7 +36,19 @@
|
||||||
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.Dialog.Neutral</item>
|
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.Dialog.Neutral</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Baseline dialog style -->
|
<!-- Normal DayNight dialog theme -->
|
||||||
|
<style name="Theme.CustomDialog" parent="Theme.CustomDialog.Base">
|
||||||
|
<item name="colorSurface">@color/surface_color</item>
|
||||||
|
<item name="colorControlHighlight">@color/selection_color</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Black theme dialog theme -->
|
||||||
|
<style name="Theme.CustomDialog.Black" parent="Theme.CustomDialog.Base">
|
||||||
|
<item name="colorSurface">@color/surface_color_black</item>
|
||||||
|
<item name="colorControlHighlight">@color/selection_color_black</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Material-specific dialog style -->
|
||||||
<style name="MaterialAlertDialog.App" parent="MaterialAlertDialog.MaterialComponents">
|
<style name="MaterialAlertDialog.App" parent="MaterialAlertDialog.MaterialComponents">
|
||||||
<item name="shapeAppearanceOverlay">@style/ShapeAppearance.Angular</item>
|
<item name="shapeAppearanceOverlay">@style/ShapeAppearance.Angular</item>
|
||||||
</style>
|
</style>
|
||||||
|
@ -64,7 +78,7 @@
|
||||||
<item name="android:layout_width">wrap_content</item>
|
<item name="android:layout_width">wrap_content</item>
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
<item name="android:textAppearance">?android:attr/textAppearanceButton</item>
|
<item name="android:textAppearance">?android:attr/textAppearanceButton</item>
|
||||||
<item name="rippleColor">@color/selection_color</item>
|
<item name="rippleColor">?android:attr/colorControlHighlight</item>
|
||||||
<item name="cornerRadius">0dp</item>
|
<item name="cornerRadius">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -72,6 +86,4 @@
|
||||||
<style name="Widget.Button.Dialog.Neutral" parent="Widget.Button.Dialog">
|
<style name="Widget.Button.Dialog.Neutral" parent="Widget.Button.Dialog">
|
||||||
<item name="android:layout_marginStart">0dp</item>
|
<item name="android:layout_marginStart">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -45,5 +45,6 @@
|
||||||
<item name="colorSurface">@color/surface_color_black</item>
|
<item name="colorSurface">@color/surface_color_black</item>
|
||||||
<item name="colorControlHighlight">@color/selection_color_black</item>
|
<item name="colorControlHighlight">@color/selection_color_black</item>
|
||||||
<item name="toolbarPopupTheme">@style/ThemeOverlay.ToolbarPopup.Black</item>
|
<item name="toolbarPopupTheme">@style/ThemeOverlay.ToolbarPopup.Black</item>
|
||||||
|
<item name="materialAlertDialogTheme">@style/Theme.CustomDialog.Black</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in a new issue