tachiyomi/app/src/main/res/values/styles.xml
Soitora 562dce60ee
Ripple overhaul (#5109)
* Create drawables for the ripples

Temporary colors in them to aid in unifying the ripples.

The 'ripple_circular' and 'ripple_normal' are probably going to be merge as one in the end.

* Change selectableItems to drawables

Changes 'selectableItemBackgroundBorderless' to 'ripple_circular' drawable.

Changes 'selectableItemBackground' to 'selectable_item_background' drawable.

* Add temporary colors to aid in finding unstyled ripples

* Fix button sizes to not make oval ripples

* Make the chip selectable follow ripple color

* Style using the built in rippleColor when possible

* Ripple away 💸

* Set ripple color for tabs

Main activity tabs as well as sheet tabs

* Set ripple color in seekbar buttons

* Fix ripple color for the toolbar

* Round off and start to finish the ripples

* Set custom colorful ripple for bottom navigation

Makes the app a little more fun than just black and white. Took inspiration from a ton of updated Google apps.

* Revert two layout changes

These were not necessary for the ripple as it is designed now, but it was before.

Co-authored-by: Andreas E <andreas.everos@gmail.com>
2021-05-22 11:55:05 -04:00

382 lines
16 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--========-->
<!--Toolbars-->
<!--========-->
<style name="Theme.Toolbar" parent="@style/ThemeOverlay.MaterialComponents.ActionBar" />
<style name="Theme.Toolbar.Light" parent="Theme.Toolbar.Custom">
<item name="popupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
</style>
<style name="Theme.Toolbar.Custom" parent="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar">
<item name="android:colorControlHighlight">?attr/rippleColor</item>
</style>
<style name="Theme.Toolbar.Navigation" parent="Widget.AppCompat.Toolbar.Button.Navigation">
<item name="tint">?attr/colorOnPrimary</item>
</style>
<style name="Theme.ActionMode" parent="Base.Widget.AppCompat.ActionMode">
<item name="background">?attr/colorPrimary</item>
</style>
<style name="Theme.ActionMode.CloseButton" parent="Base.Widget.AppCompat.ActionButton.CloseMode">
<item name="android:tint">?attr/colorOnPrimary</item>
</style>
<!--===========-->
<!--AlertDialog-->
<!--===========-->
<style name="Theme.AlertDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
<item name="android:background">?attr/colorSurface</item>
<item name="shapeAppearanceOverlay">@style/Theme.MaterialAlertDialog.Style.ShapeAppearance</item>
<item name="materialAlertDialogTitleTextStyle">@style/Theme.MaterialAlertDialog.Style.Title</item>
<item name="android:textColorPrimary">?attr/colorOnSurface</item>
<item name="android:textColor">?attr/colorOnSurface</item>
<item name="buttonBarPositiveButtonStyle">@style/Theme.Widget.Button</item>
<item name="buttonBarNegativeButtonStyle">@style/Theme.Widget.Button</item>
<item name="buttonBarNeutralButtonStyle">@style/Theme.Widget.Button</item>
</style>
<style name="Theme.MaterialAlertDialog.Style.ShapeAppearance" parent="">
<item name="cornerSize">@dimen/dialog_radius</item>
</style>
<style name="Theme.MaterialAlertDialog.Style.Title" parent="@style/MaterialAlertDialog.MaterialComponents.Title.Text">
<item name="android:textColor">?android:textColorPrimary</item>
<item name="android:textSize">@dimen/md_title_textsize</item>
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="Theme.AlertDialog.Light" parent="Theme.AlertDialog">
<item name="colorAccent">@color/colorAccentLight</item>
</style>
<style name="Theme.AlertDialog.Dark" parent="Theme.AlertDialog">
<item name="colorAccent">@color/colorAccentDark</item>
</style>
<!--===========-->
<!--BottomSheet-->
<!--===========-->
<style name="Theme.BottomSheet" parent="ThemeOverlay.MaterialComponents.BottomSheetDialog">
<item name="android:windowIsFloating">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">?attr/colorPrimary</item>
<item name="bottomSheetStyle">@style/Theme.BottomSheet.Style</item>
</style>
<style name="Theme.BottomSheet.Style" parent="Widget.MaterialComponents.BottomSheet">
<item name="shapeAppearanceOverlay">@style/Theme.BottomSheet.Style.ShapeAppearance</item>
</style>
<style name="Theme.BottomSheet.Style.ShapeAppearance" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopRight">@dimen/dialog_radius</item>
<item name="cornerSizeTopLeft">@dimen/dialog_radius</item>
<item name="cornerSizeBottomRight">0dp</item>
<item name="cornerSizeBottomLeft">0dp</item>
</style>
<!--===============-->
<!--Text Appearance-->
<!--===============-->
<style name="TextAppearance" parent="@android:style/TextAppearance">
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<style name="TextAppearance.Regular">
<item name="android:fontFamily">sans-serif</item>
</style>
<style name="TextAppearance.Regular.Body1">
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Regular.Body1.Bold">
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.Regular.Body1.Secondary">
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="TextAppearance.Regular.Caption">
<item name="android:textSize">12sp</item>
</style>
<style name="TextAppearance.Regular.Caption.Hint">
<item name="android:textColor">@color/material_on_surface_emphasis_medium</item>
</style>
<style name="TextAppearance.Regular.SubHeading">
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Medium">
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="TextAppearance.Medium.Title">
<item name="android:textSize">24sp</item>
</style>
<style name="TextAppearance.Medium.Body2">
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Medium.Body2.Hint">
<item name="android:textColor">?android:attr/textColorHint</item>
</style>
<style name="TextAppearance.Medium.SubHeading">
<item name="android:textAllCaps">true</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Widget.Button" parent="TextAppearance.MaterialComponents.Button">
<item name="android:letterSpacing">0</item>
<item name="android:textAllCaps">false</item>
</style>
<style name="TextAppearance.Widget.Menu" parent="TextAppearance.AppCompat.Menu">
<item name="android:textColor">?attr/colorOnBackground</item>
</style>
<style name="TextAppearance.Widget.Tab" parent="TextAppearance.MaterialComponents.Button">
<item name="android:textAllCaps">false</item>
<item name="android:letterSpacing">0</item>
</style>
<!--=======-->
<!--Widgets-->
<!--=======-->
<style name="Theme.Widget" />
<style name="Theme.Widget.FAB" parent="@style/Widget.MaterialComponents.ExtendedFloatingActionButton.Icon">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="fabCustomSize">@dimen/fab_size</item>
<item name="android:minWidth">@dimen/fab_size</item>
<item name="android:layout_gravity">bottom|end</item>
<item name="android:layout_margin">16dp</item>
<item name="android:scaleType">fitCenter</item>
<item name="layout_anchorGravity">bottom|right|end</item>
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="Theme.Widget.CardView" parent="CardView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:padding">16dp</item>
<item name="android:layout_marginTop">8dp</item>
<item name="android:layout_marginBottom">8dp</item>
<item name="android:layout_marginStart">8dp</item>
<item name="android:layout_marginEnd">8dp</item>
<item name="cardBackgroundColor">?attr/colorSurface</item>
<item name="cardCornerRadius">@dimen/card_radius</item>
<item name="cardElevation">2dp</item>
</style>
<style name="Theme.Widget.CardView.Item">
<item name="android:layout_marginTop">@dimen/space_between_cards</item>
<item name="android:layout_marginBottom">@dimen/space_between_cards</item>
</style>
<style name="Theme.Widget.GridView">
<item name="android:smoothScrollbar">true</item>
<item name="android:numColumns">auto_fit</item>
<item name="android:stretchMode">columnWidth</item>
<item name="android:scrollbarStyle">outsideOverlay</item>
</style>
<style name="Theme.Widget.GridView.Source">
<item name="android:gravity">top|left</item>
<item name="android:smoothScrollbar">true</item>
<item name="android:cacheColorHint">?android:attr/textColorHint</item>
<item name="android:fastScrollEnabled">true</item>
<item name="android:horizontalSpacing">0dp</item>
<item name="android:verticalSpacing">0dp</item>
</style>
<style name="Theme.Widget.SpinnerItem" parent="Widget.AppCompat.DropDownItem.Spinner">
<item name="android:textColor">?attr/colorOnSurface</item>
<item name="android:background">@drawable/list_item_selector</item>
</style>
<style name="Theme.Widget.Snackbar" parent="Widget.MaterialComponents.Snackbar">
<item name="android:background">@drawable/snackbar_background</item>
<item name="actionTextColorAlpha">1</item>
</style>
<style name="Theme.Widget.Snackbar.TextView" parent="@style/Widget.MaterialComponents.Snackbar.TextView">
<item name="android:textColor">?attr/colorOnSurface</item>
</style>
<style name="Theme.Widget.Chip" parent="Widget.MaterialComponents.Chip.Action">
<item name="chipStrokeWidth">1dp</item>
<item name="chipStrokeColor">?attr/colorAccent</item>
<item name="chipBackgroundColor">@color/background_color_chip_state</item>
<item name="android:textColor">?attr/colorAccent</item>
<!-- Custom chip states -->
<item name="android:clickable">true</item>
<item name="android:focusable">true</item>
<!-- Smaller text/height -->
<item name="chipCornerRadius">12dp</item>
<item name="chipMinHeight">24dp</item>
<item name="android:textAppearance">@style/TextAppearance.Regular.Caption</item>
<!-- Collapse horizontal margin -->
<item name="chipMinTouchTargetSize">30dp</item>
</style>
<style name="Theme.Widget.BasicSwitch" parent="Widget.MaterialComponents.CompoundButton.Switch">
<item name="useMaterialThemeColors">false</item>
</style>
<style name="Theme.Widget.CircularProgressIndicator" parent="Widget.MaterialComponents.CircularProgressIndicator">
<item name="indicatorColor">?attr/colorAccent</item>
</style>
<style name="Theme.Widget.CircularProgressIndicator.Small" parent="Theme.Widget.CircularProgressIndicator">
<item name="indicatorSize">16dp</item>
<item name="trackThickness">2dp</item>
</style>
<style name="Theme.Widget.LinearProgressIndicator" parent="Widget.MaterialComponents.LinearProgressIndicator">
<item name="indicatorColor">?attr/colorAccent</item>
</style>
<!--=======================-->
<!--Widgets.TextInputLayout-->
<!--=======================-->
<style name="ThemeOverlay.Widget.TextInputEditText.OutlinedBox" parent="ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox">
<item name="colorControlActivated">?attr/colorSecondary</item>
</style>
<style name="Theme.Widget.TextInputLayout.OutlinedBox" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="materialThemeOverlay">@style/ThemeOverlay.Widget.TextInputEditText.OutlinedBox</item>
<item name="boxStrokeColor">@color/text_input_stroke</item>
<item name="hintTextColor">?attr/colorSecondary</item>
</style>
<style name="Theme.Widget.TextInputLayout.OutlinedBox.Dense" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
<item name="materialThemeOverlay">@style/ThemeOverlay.Widget.TextInputEditText.OutlinedBox</item>
<item name="boxStrokeColor">@color/text_input_stroke</item>
<item name="hintTextColor">?attr/colorSecondary</item>
</style>
<!--==============-->
<!--Widgets.Button-->
<!--==============-->
<style name="Theme.Widget.Button" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:textColor">?attr/colorAccent</item>
<item name="rippleColor">?attr/rippleColor</item>
<item name="android:textAllCaps">false</item>
</style>
<style name="Theme.Widget.Button.FilledAccent" parent="Widget.MaterialComponents.Button">
<item name="android:textColor">?attr/colorOnSecondary</item>
<item name="backgroundTint">?attr/colorAccent</item>
<item name="rippleColor">?attr/rippleColor</item>
<item name="android:textAllCaps">false</item>
</style>
<style name="Theme.Widget.Button.Action" parent="Widget.MaterialComponents.Button.UnelevatedButton.Icon">
<item name="android:textSize">12sp</item>
<item name="android:textAllCaps">false</item>
<item name="backgroundTint">@android:color/transparent</item>
<item name="iconGravity">top</item>
<item name="iconTint">@color/button_action_selector</item>
<item name="iconPadding">4dp</item>
<item name="android:textColor">@color/button_action_selector</item>
</style>
<style name="Theme.Widget.Button.TextButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:letterSpacing">0.0</item>
<item name="android:textColor">?attr/colorAccent</item>
<item name="android:textAllCaps">false</item>
<item name="android:minHeight">0dp</item>
<item name="android:minWidth">0dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:insetTop">0dp</item>
<item name="android:insetBottom">0dp</item>
<item name="android:background">?android:attr/colorBackground</item>
<item name="backgroundTint">@null</item>
<item name="rippleColor">@null</item>
</style>
<!--=================-->
<!--Widgets.TabLayout-->
<!--=================-->
<style name="Theme.Widget.Tabs" parent="Widget.MaterialComponents.TabLayout.Colored">
<item name="tabGravity">center</item>
<item name="tabIndicator">@drawable/tab_indicator</item>
<item name="tabIndicatorColor">?attr/colorAccentOnPrimary</item>
<item name="tabTextColor">@color/tabs_selector</item>
<item name="tabIndicatorFullWidth">false</item>
<item name="tabIndicatorHeight">3dp</item>
<item name="tabInlineLabel">true</item>
<item name="tabMinWidth">75dp</item>
<item name="tabMode">scrollable</item>
<item name="tabTextAppearance">@style/TextAppearance.Widget.Tab</item>
</style>
<!--============-->
<!--FastScroller-->
<!--============-->
<style name="FloatingTextView" parent="TextAppearance.AppCompat">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:background">@drawable/material_bubble_drawable</item>
<item name="android:elevation">5dp</item>
<item name="android:paddingStart">12dp</item>
<item name="android:paddingEnd">12dp</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
<item name="android:textColor">?attr/colorOnPrimary</item>
<item name="android:textSize">15sp</item>
</style>
<!--===============-->
<!--Custom Selector-->
<!--===============-->
<style name="PreferenceThemeLight" parent="@style/PreferenceThemeOverlay">
<item name="android:selectableItemBackground">@drawable/ripple_light</item>
</style>
<style name="PreferenceThemeDark" parent="@style/PreferenceThemeOverlay">
<item name="android:selectableItemBackground">@drawable/ripple_dark</item>
</style>
</resources>