
Crop all images to a 1:1 aspect ratio. Sometimes cover art will not be a square. I never realized this because all covers in my music library are square. This led to many strange bugs that I would rather avoid, so create a new transformation that crops the image to a 1:1 aspect ratio. The reason why we use a transformation is that it won't be dependent on the actual state of the ImageView, which is what would happen if we used ScaleType.CENTER_CROP. In the case that we use a very weird hacky ImageView like in the widgets, doing such would result in any cropping not actually working correctly. It's better to do it in the Transformation stage simply to ensure consistency.
179 lines
No EOL
8.1 KiB
XML
179 lines
No EOL
8.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<resources>
|
|
<!-- SHARED RE-USABLE UI STYLES -->
|
|
|
|
<style name="Widget.Auxio.AppBarLayout" parent="Widget.Material3.AppBarLayout">
|
|
<item name="android:layout_width">match_parent</item>
|
|
<item name="android:layout_height">wrap_content</item>
|
|
</style>
|
|
|
|
<!-- Base toolbar style -->
|
|
<style name="Widget.Auxio.Toolbar" parent="">
|
|
<item name="android:layout_width">match_parent</item>
|
|
<item name="android:layout_height">wrap_content</item>
|
|
</style>
|
|
|
|
<!-- Toolbar sub-style with a nav icon -->
|
|
<style name="Widget.Auxio.Toolbar.Icon" parent="Widget.Auxio.Toolbar">
|
|
<item name="navigationIcon">@drawable/ic_back</item>
|
|
</style>
|
|
|
|
<!-- Toolbar sub-style with a downwards nav icon -->
|
|
<style name="Widget.Auxio.Toolbar.Icon.Down" parent="Widget.Auxio.Toolbar">
|
|
<item name="navigationIcon">@drawable/ic_down</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.Small" parent="">
|
|
<item name="android:layout_width">@dimen/size_cover_compact</item>
|
|
<item name="android:layout_height">@dimen/size_cover_compact</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.Medium" parent="">
|
|
<item name="android:layout_width">@dimen/size_cover_normal</item>
|
|
<item name="android:layout_height">@dimen/size_cover_normal</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.Large" parent="">
|
|
<item name="android:layout_width">@dimen/size_cover_large</item>
|
|
<item name="android:layout_height">@dimen/size_cover_large</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.MidHuge" parent="">
|
|
<item name="android:layout_width">@dimen/size_cover_mid_huge</item>
|
|
<item name="android:layout_height">@dimen/size_cover_mid_huge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.Huge" parent="">
|
|
<item name="android:layout_width">@dimen/size_cover_huge</item>
|
|
<item name="android:layout_height">@dimen/size_cover_huge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Image.Full" parent="">
|
|
<item name="android:layout_width">0dp</item>
|
|
<item name="android:layout_height">0dp</item>
|
|
<item name="layout_constraintDimensionRatio">1</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.ItemLayout" parent="">
|
|
<item name="android:layout_width">match_parent</item>
|
|
<item name="android:layout_height">wrap_content</item>
|
|
<item name="android:background">@drawable/ui_ripple</item>
|
|
<item name="android:padding">@dimen/spacing_medium</item>
|
|
<item name="android:clickable">true</item>
|
|
<item name="android:focusable">true</item>
|
|
</style>
|
|
|
|
<style name="ThemeOverlay.Accent" parent="">
|
|
<item name="colorOnPrimary">?attr/colorSurface</item>
|
|
</style>
|
|
|
|
<!-- TEXTVIEW STYLES -->
|
|
|
|
<style name="Widget.Auxio.TextView.Base" parent="Widget.AppCompat.TextView">
|
|
<item name="android:textAlignment">viewStart</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Item.Base" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:ellipsize">end</item>
|
|
<item name="android:maxLines">1</item>
|
|
<item name="android:layout_marginStart">@dimen/spacing_medium</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Item.Primary" parent="Widget.Auxio.TextView.Item.Base">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleMedium</item>
|
|
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Item.Secondary" parent="Widget.Auxio.TextView.Item.Base">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyMedium</item>
|
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Item.Tertiary" parent="Widget.Auxio.TextView.Item.Base">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyMedium</item>
|
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:ellipsize">marquee</item>
|
|
<item name="android:singleLine">true</item>
|
|
<item name="android:marqueeRepeatLimit">marquee_forever</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleMidLarge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Secondary" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:ellipsize">end</item>
|
|
<item name="android:maxLines">1</item>
|
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Primary.Compact" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:ellipsize">end</item>
|
|
<item name="android:maxLines">1</item>
|
|
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelLarge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Secondary.Compact" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:maxLines">1</item>
|
|
<item name="android:ellipsize">end</item>
|
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelMedium</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Header" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:paddingStart">@dimen/spacing_medium</item>
|
|
<item name="android:paddingTop">@dimen/spacing_small</item>
|
|
<item name="android:paddingBottom">@dimen/spacing_small</item>
|
|
<item name="android:paddingEnd">@dimen/spacing_medium</item>
|
|
<item name="android:minHeight">@dimen/size_btn_small</item>
|
|
<item name="android:gravity">center_vertical</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelLarger</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Detail" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleLarge</item>
|
|
<item name="android:textAlignment">viewStart</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Icon" parent="Widget.Auxio.TextView.Base">
|
|
<item name="android:drawablePadding">@dimen/spacing_medium</item>
|
|
<item name="android:padding">@dimen/spacing_medium</item>
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.TextView.Icon.Clickable" parent="Widget.Auxio.TextView.Icon">
|
|
<item name="android:clickable">true</item>
|
|
<item name="android:focusable">true</item>
|
|
<item name="android:background">@drawable/ui_ripple</item>
|
|
</style>
|
|
|
|
<!-- BUTTON STYLES -->
|
|
|
|
<style name="Widget.Auxio.Button.Unbounded" parent="Widget.AppCompat.Button.Borderless">
|
|
<item name="android:padding">0dp</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Button.Primary" parent="Widget.Material3.Button">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelLarger</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.Button.Secondary" parent="Widget.Material3.Button.OutlinedButton">
|
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelLarger</item>
|
|
</style>
|
|
|
|
<style name="Widget.Auxio.FloatingActionButton.PlayPause" parent="Widget.Material3.FloatingActionButton.Secondary">
|
|
<!--
|
|
Abuse this floating action button to act more like an old-school auxio button.
|
|
This is for two reasons:
|
|
1. We upscale the play icon to 32dp, so the total FAB size also needs to increase to
|
|
compensate.
|
|
2. For some reason elevation behaves strangely in the playback panel, so we disable it.
|
|
-->
|
|
<item name="maxImageSize">@dimen/size_playback_icon</item>
|
|
<item name="fabCustomSize">@dimen/size_btn_large</item>
|
|
<item name="android:elevation">0dp</item>
|
|
<item name="elevation">0dp</item>
|
|
</style>
|
|
</resources> |