style: migrate to Material3 text styling
Migrate to 100% Material3 text styling. I had to basically ignore the intended styling here just to get a sensible design here, which is "bad" but I do what I want. The only usage of MaterialComponents left in the project now is the dialog since the new dialog style the worst thing ever.
This commit is contained in:
parent
63198f8677
commit
8f61d8479a
15 changed files with 161 additions and 79 deletions
|
@ -24,7 +24,6 @@ import android.graphics.Canvas
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import android.util.TypedValue
|
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -35,6 +34,7 @@ import android.widget.FrameLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.appcompat.widget.AppCompatTextView
|
import androidx.appcompat.widget.AppCompatTextView
|
||||||
import androidx.core.math.MathUtils
|
import androidx.core.math.MathUtils
|
||||||
|
import androidx.core.widget.TextViewCompat
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -149,13 +149,8 @@ class FastScrollRecyclerView @JvmOverloads constructor(
|
||||||
includeFontPadding = false
|
includeFontPadding = false
|
||||||
isSingleLine = true
|
isSingleLine = true
|
||||||
|
|
||||||
setTextColor(android.R.attr.textColorPrimaryInverse.resolveAttr(context))
|
TextViewCompat.setTextAppearance(this, R.style.TextAppearance_Auxio_HeadlineLarge)
|
||||||
setTextSize(
|
setTextColor(R.attr.colorSurface.resolveAttr(context))
|
||||||
TypedValue.COMPLEX_UNIT_PX,
|
|
||||||
resources.getDimensionPixelSize(
|
|
||||||
R.dimen.text_size_insane
|
|
||||||
).toFloat()
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
thumbWidth = thumbDrawable.intrinsicWidth
|
thumbWidth = thumbDrawable.intrinsicWidth
|
||||||
|
|
|
@ -37,14 +37,20 @@ enum class PlaybackMode {
|
||||||
* @return The constant for this mode,
|
* @return The constant for this mode,
|
||||||
*/
|
*/
|
||||||
fun toInt(): Int {
|
fun toInt(): Int {
|
||||||
return CONST_ALL_SONGS + ordinal
|
return when (this) {
|
||||||
|
ALL_SONGS -> CONST_ALL_SONGS
|
||||||
|
IN_ALBUM -> CONST_IN_ALBUM
|
||||||
|
IN_ARTIST -> CONST_IN_ARTIST
|
||||||
|
IN_GENRE -> CONST_IN_GENRE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val CONST_ALL_SONGS = 0xA103
|
// Kept in reverse order because of backwards compat, do not re-order these
|
||||||
private const val CONST_IN_ALBUM = 0xA104
|
private const val CONST_ALL_SONGS = 0xA106
|
||||||
private const val CONST_IN_ARTIST = 0xA105
|
private const val CONST_IN_ALBUM = 0xA105
|
||||||
private const val CONST_IN_GENRE = 0xA106
|
private const val CONST_IN_ARTIST = 0xA104
|
||||||
|
private const val CONST_IN_GENRE = 0xA103
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a [PlaybackMode] for an int [constant]
|
* Get a [PlaybackMode] for an int [constant]
|
||||||
|
|
|
@ -154,6 +154,7 @@ fun createWideWidget(context: Context, state: WidgetState): RemoteViews {
|
||||||
fun createSmallWidget(context: Context, state: WidgetState): RemoteViews {
|
fun createSmallWidget(context: Context, state: WidgetState): RemoteViews {
|
||||||
return createViews(context, R.layout.widget_small)
|
return createViews(context, R.layout.widget_small)
|
||||||
.applyMeta(state)
|
.applyMeta(state)
|
||||||
|
.applyCover(context, state)
|
||||||
.applyControls(context, state)
|
.applyControls(context, state)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
android:padding="@dimen/spacing_medium"
|
android:padding="@dimen/spacing_medium"
|
||||||
android:text="@string/lbl_no_dirs"
|
android:text="@string/lbl_no_dirs"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
android:textAppearance="@style/TextAppearance.Auxio.TitleMedium"
|
||||||
android:textColor="?android:attr/textColorSecondary" />
|
android:textColor="?android:attr/textColorSecondary" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:fontFamily="@font/inter_semibold"
|
android:fontFamily="@font/inter_semibold"
|
||||||
android:text="@string/info_app_name"
|
android:text="@string/info_app_name"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
|
android:textAppearance="@style/TextAppearance.Auxio.HeadlineSmall"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/about_auxio_icon"
|
app:layout_constraintBottom_toBottomOf="@+id/about_auxio_icon"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_auxio_icon"
|
app:layout_constraintStart_toEndOf="@+id/about_auxio_icon"
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
android:paddingStart="@dimen/spacing_small"
|
android:paddingStart="@dimen/spacing_small"
|
||||||
android:paddingEnd="@dimen/spacing_small"
|
android:paddingEnd="@dimen/spacing_small"
|
||||||
android:text="@string/info_app_desc"
|
android:text="@string/info_app_desc"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
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/about_auxio_icon" />
|
app:layout_constraintTop_toBottomOf="@+id/about_auxio_icon" />
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:text="@string/lbl_version"
|
android:text="@string/lbl_version"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/about_version"
|
app:layout_constraintBottom_toTopOf="@+id/about_version"
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_version_icon"
|
app:layout_constraintStart_toEndOf="@+id/about_version_icon"
|
||||||
app:layout_constraintTop_toTopOf="@+id/about_version_icon" />
|
app:layout_constraintTop_toTopOf="@+id/about_version_icon" />
|
||||||
|
@ -118,7 +118,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:textAppearance="@style/TextAppearance.AppCompat.Caption"
|
android:textAppearance="@style/TextAppearance.Auxio.BodySmall"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/about_version_icon"
|
app:layout_constraintBottom_toBottomOf="@+id/about_version_icon"
|
||||||
app:layout_constraintStart_toEndOf="@+id/about_version_icon"
|
app:layout_constraintStart_toEndOf="@+id/about_version_icon"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/about_version_title"
|
app:layout_constraintTop_toBottomOf="@+id/about_version_title"
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
app:tabContentStart="@dimen/spacing_medium"
|
app:tabContentStart="@dimen/spacing_medium"
|
||||||
app:tabMode="scrollable"
|
app:tabMode="scrollable"
|
||||||
app:tabGravity="start"
|
app:tabGravity="start"
|
||||||
app:tabTextAppearance="@style/TextAppearance.Auxio.TabLayout.Label"
|
|
||||||
app:tabTextColor="@color/sel_accented_primary"/>
|
app:tabTextColor="@color/sel_accented_primary"/>
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
||||||
|
|
|
@ -35,9 +35,11 @@
|
||||||
android:id="@+id/search_edit_text"
|
android:id="@+id/search_edit_text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
|
android:paddingStart="0dp"
|
||||||
|
android:paddingEnd="0dp"
|
||||||
android:hint="@string/hint_search_library"
|
android:hint="@string/hint_search_library"
|
||||||
android:padding="@dimen/spacing_medium"
|
|
||||||
android:imeOptions="actionSearch|flagNoExtractUi"
|
android:imeOptions="actionSearch|flagNoExtractUi"
|
||||||
android:inputType="textFilter" />
|
android:inputType="textFilter" />
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
android:minWidth="@dimen/size_track_number"
|
android:minWidth="@dimen/size_track_number"
|
||||||
android:text="@{String.valueOf(song.track)}"
|
android:text="@{String.valueOf(song.track)}"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
android:textAppearance="@style/TextAppearance.Auxio.TitleMedium"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
android:layout_marginBottom="@dimen/spacing_small"
|
android:layout_marginBottom="@dimen/spacing_small"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:textSize="@dimen/text_size_small"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
android:paddingStart="@dimen/spacing_medium"
|
android:paddingStart="@dimen/spacing_medium"
|
||||||
app:buttonCompat="@null"
|
app:buttonCompat="@null"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="@dimen/spacing_medium"
|
android:padding="@dimen/spacing_medium"
|
||||||
android:text="@string/def_playback"
|
android:text="@string/def_playback"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
android:textAppearance="@style/TextAppearance.Auxio.TitleMedium"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -26,13 +26,6 @@
|
||||||
|
|
||||||
<dimen name="size_track_number">32dp</dimen>
|
<dimen name="size_track_number">32dp</dimen>
|
||||||
|
|
||||||
<!-- Text Size Namespace | Text Sizes -->
|
|
||||||
<dimen name="text_size_small">16sp</dimen>
|
|
||||||
<dimen name="text_size_medium">18sp</dimen>
|
|
||||||
<dimen name="text_size_large">20sp</dimen>
|
|
||||||
<dimen name="text_size_huge">24sp</dimen>
|
|
||||||
<dimen name="text_size_insane">34sp</dimen>
|
|
||||||
|
|
||||||
<!-- Misc -->
|
<!-- Misc -->
|
||||||
<dimen name="elevation_small">2dp</dimen>
|
<dimen name="elevation_small">2dp</dimen>
|
||||||
<dimen name="elevation_normal">4dp</dimen>
|
<dimen name="elevation_normal">4dp</dimen>
|
||||||
|
|
|
@ -2,38 +2,39 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- ANDROID COMPONENT-SPECIFIC STYLES.-->
|
<!-- ANDROID COMPONENT-SPECIFIC STYLES.-->
|
||||||
|
|
||||||
<!-- Dialog theme where all fixes are applied -->
|
<!--
|
||||||
|
A dialog theme that doesn't suck. This is the only non-Material3 usage in the entire
|
||||||
|
project since the Material3 dialogs [and especially the button panel] are unusable.
|
||||||
|
-->
|
||||||
<style name="Theme.Auxio.Dialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
|
<style name="Theme.Auxio.Dialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
|
||||||
<item name="android:checkedTextViewStyle">@style/Widget.Auxio.Dialog.CheckedTextView</item>
|
<item name="android:checkedTextViewStyle">@style/Widget.Auxio.Dialog.CheckedTextView</item>
|
||||||
<item name="materialAlertDialogTitleTextStyle">@style/Widget.Auxio.Dialog.TextView</item>
|
<item name="materialAlertDialogTitleTextStyle">@style/Widget.Auxio.Dialog.TextView</item>
|
||||||
<item name="buttonBarPositiveButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
|
<item name="buttonBarPositiveButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
|
||||||
<item name="buttonBarNegativeButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
|
<item name="buttonBarNegativeButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
|
||||||
<item name="buttonBarNeutralButtonStyle">@style/Widget.Auxio.Dialog.Button.Neutral</item>
|
<item name="buttonBarNeutralButtonStyle">@style/Widget.Auxio.Dialog.Button.Flush</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Custom dialog title theme -->
|
<!-- Custom dialog title theme -->
|
||||||
<style name="Widget.Auxio.Dialog.TextView" parent="MaterialAlertDialog.Material3.Title.Text">
|
<style name="Widget.Auxio.Dialog.TextView" parent="MaterialAlertDialog.Material3.Title.Text">
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleMedium</item>
|
||||||
<item name="android:textSize">@dimen/text_size_large</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- The style for the checked text view in the custom dialog -->
|
<!-- The style for the checked text view in the custom dialog -->
|
||||||
<style name="Widget.Auxio.Dialog.CheckedTextView" parent="Widget.Material3.CheckedTextView">
|
<style name="Widget.Auxio.Dialog.CheckedTextView" parent="Widget.Material3.CheckedTextView">
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
<item name="android:background">@null</item>
|
<item name="android:background">@null</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Style for dialog buttons -->
|
<!-- Style for dialog buttons -->
|
||||||
<style name="Widget.Auxio.Dialog.Button" parent="Widget.Material3.Button.TextButton.Dialog">
|
<style name="Widget.Auxio.Dialog.Button" parent="Widget.Material3.Button.TextButton.Dialog">
|
||||||
<item name="android:layout_height">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">@style/TextAppearance.Auxio.LabelMedium</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Custom button style that eliminates the weird margin that the neutral button has -->
|
<!-- Custom button style that eliminates the weird margin that the neutral button has -->
|
||||||
<style name="Widget.Auxio.Dialog.Button.Neutral" parent="Widget.Auxio.Dialog.Button">
|
<style name="Widget.Auxio.Dialog.Button.Flush" parent="Widget.Auxio.Dialog.Button">
|
||||||
<item name="android:layout_marginStart">0dp</item>
|
<item name="android:layout_marginStart">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -47,15 +48,14 @@
|
||||||
<!-- Widget TextView that mimics the main Auxio Primary TextView -->
|
<!-- Widget TextView that mimics the main Auxio Primary TextView -->
|
||||||
<style name="Widget.Auxio.TextView.Primary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
|
<style name="Widget.Auxio.TextView.Primary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
|
||||||
<item name="android:textStyle">bold</item>
|
<item name="android:textStyle">bold</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleMedium
|
||||||
</item>
|
</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Widget TextView that mimics the main Auxio Secondary TextView -->
|
<!-- Widget TextView that mimics the main Auxio Secondary TextView -->
|
||||||
<style name="Widget.Auxio.TextView.Secondary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
|
<style name="Widget.Auxio.TextView.Secondary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Hack to make sure that ripples work the best that they can on all Android Versions -->
|
<!-- Hack to make sure that ripples work the best that they can on all Android Versions -->
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Master parent theme based off of Theme.MaterialComponents.DayNight.NoActionBar.Bridge -->
|
<!-- Master parent theme -->
|
||||||
<style name="Theme.Auxio" parent="Theme.Material3.DayNight.NoActionBar" />
|
<style name="Theme.Auxio" parent="Theme.Material3.DayNight.NoActionBar" />
|
||||||
<!-- Template theme that handles edge-to-edge on other styles variants -->
|
<!-- Template theme that handles edge-to-edge on other styles variants -->
|
||||||
<style name="Theme.Auxio.V27" parent="Theme.Auxio" />
|
<style name="Theme.Auxio.V27" parent="Theme.Auxio" />
|
||||||
|
@ -35,13 +35,27 @@
|
||||||
<item name="android:fontFamily">@font/inter</item>
|
<item name="android:fontFamily">@font/inter</item>
|
||||||
<item name="android:scrollbars">none</item>
|
<item name="android:scrollbars">none</item>
|
||||||
|
|
||||||
<!--
|
<!-- Work around hard-coded text highlight colors in the default Material3 theme -->
|
||||||
Work around hard-coded text highlight colors in the default Material3 theme
|
|
||||||
-->
|
|
||||||
<item name="android:textColorHighlight">@color/overlay_text_highlight</item>
|
<item name="android:textColorHighlight">@color/overlay_text_highlight</item>
|
||||||
<item name="android:textColorHighlightInverse">@color/overlay_text_highlight_inverse</item>
|
<item name="android:textColorHighlightInverse">@color/overlay_text_highlight_inverse</item>
|
||||||
|
|
||||||
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
|
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
|
||||||
|
|
||||||
|
<item name="textAppearanceHeadlineLarge">@style/TextAppearance.Auxio.HeadlineLarge</item>
|
||||||
|
<item name="textAppearanceHeadlineMedium">@style/TextAppearance.Auxio.HeadlineMedium</item>
|
||||||
|
<item name="textAppearanceHeadlineSmall">@style/TextAppearance.Auxio.HeadlineSmall</item>
|
||||||
|
|
||||||
|
<item name="textAppearanceTitleLarge">@style/TextAppearance.Auxio.TitleLarge</item>
|
||||||
|
<item name="textAppearanceTitleMedium">@style/TextAppearance.Auxio.TitleMedium</item>
|
||||||
|
<item name="textAppearanceTitleSmall">@style/TextAppearance.Auxio.TitleSmall</item>
|
||||||
|
|
||||||
|
<item name="textAppearanceLabelLarge">@style/TextAppearance.Auxio.LabelLarge</item>
|
||||||
|
<item name="textAppearanceLabelMedium">@style/TextAppearance.Auxio.LabelMedium</item>
|
||||||
|
<item name="textAppearanceLabelSmall">@style/TextAppearance.Auxio.LabelSmall</item>
|
||||||
|
|
||||||
|
<item name="textAppearanceBodyLarge">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
|
<item name="textAppearanceBodyMedium">@style/TextAppearance.Auxio.BodyMedium</item>
|
||||||
|
<item name="textAppearanceBodySmall">@style/TextAppearance.Auxio.BodySmall</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- The basic black theme derived in all black accents. -->
|
<!-- The basic black theme derived in all black accents. -->
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
<!-- SHARED RE-USABLE UI STYLES -->
|
<!-- SHARED RE-USABLE UI STYLES -->
|
||||||
|
|
||||||
<!-- Base toolbar style -->
|
<!-- Base toolbar style -->
|
||||||
<style name="Widget.Auxio.Toolbar" parent="ThemeOverlay.Material3.ActionBar">
|
<style name="Widget.Auxio.Toolbar" parent="">
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:layout_height">@dimen/size_btn_medium</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
<item name="titleTextAppearance">@style/TextAppearance.ToolbarTitle</item>
|
<item name="android:theme">@style/ThemeOverlay.Material3.ActionBar</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Toolbar sub-style with a nav icon -->
|
<!-- Toolbar sub-style with a nav icon -->
|
||||||
|
@ -19,11 +19,6 @@
|
||||||
<item name="navigationIcon">@drawable/ic_down</item>
|
<item name="navigationIcon">@drawable/ic_down</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.ToolbarTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
|
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
|
||||||
<item name="android:textSize">@dimen/text_size_large</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
|
<style name="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
|
||||||
<item name="android:progressTint">?attr/colorPrimary</item>
|
<item name="android:progressTint">?attr/colorPrimary</item>
|
||||||
<item name="android:progressBackgroundTint">?attr/colorSecondary</item>
|
<item name="android:progressBackgroundTint">?attr/colorSecondary</item>
|
||||||
|
@ -57,11 +52,6 @@
|
||||||
<item name="android:layout_height">0dp</item>
|
<item name="android:layout_height">0dp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TextAppearance.Auxio.TabLayout.Label" parent="TextAppearance.Material3.LabelLarge">
|
|
||||||
<item name="fontFamily">@font/inter_semibold</item>
|
|
||||||
<item name="android:textSize">@dimen/text_size_small</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="Widget.Auxio.ItemLayout" parent="">
|
<style name="Widget.Auxio.ItemLayout" parent="">
|
||||||
<item name="android:layout_width">match_parent</item>
|
<item name="android:layout_width">match_parent</item>
|
||||||
<item name="android:layout_height">wrap_content</item>
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
@ -88,42 +78,41 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Item.Primary" parent="Widget.Auxio.TextView.Item.Base">
|
<style name="Widget.Auxio.TextView.Item.Primary" parent="Widget.Auxio.TextView.Item.Base">
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Item.Secondary" parent="Widget.Auxio.TextView.Item.Base">
|
<style name="Widget.Auxio.TextView.Item.Secondary" parent="Widget.Auxio.TextView.Item.Base">
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle2</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyMedium</item>
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
|
||||||
<item name="android:ellipsize">marquee</item>
|
<item name="android:ellipsize">marquee</item>
|
||||||
<item name="android:singleLine">true</item>
|
<item name="android:singleLine">true</item>
|
||||||
<item name="android:marqueeRepeatLimit">marquee_forever</item>
|
<item name="android:marqueeRepeatLimit">marquee_forever</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleMedium</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Secondary" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Secondary" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
<item name="android:maxLines">1</item>
|
<item name="android:maxLines">1</item>
|
||||||
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
<item name="android:textColor">?android:attr/textColorSecondary</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Primary.Compact" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Primary.Compact" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
<item name="android:maxLines">1</item>
|
<item name="android:maxLines">1</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Body2</item>
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelMedium</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Secondary.Compact" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Secondary.Compact" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:maxLines">1</item>
|
<item name="android:maxLines">1</item>
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Caption</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.LabelSmall</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Header" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Header" parent="Widget.Auxio.TextView.Base">
|
||||||
|
@ -132,23 +121,21 @@
|
||||||
<item name="android:paddingBottom">@dimen/spacing_small</item>
|
<item name="android:paddingBottom">@dimen/spacing_small</item>
|
||||||
<item name="android:paddingEnd">@dimen/spacing_medium</item>
|
<item name="android:paddingEnd">@dimen/spacing_medium</item>
|
||||||
<item name="android:minHeight">@dimen/size_btn_small</item>
|
<item name="android:minHeight">@dimen/size_btn_small</item>
|
||||||
<item name="android:textSize">@dimen/text_size_medium</item>
|
|
||||||
<item name="android:gravity">center_vertical</item>
|
<item name="android:gravity">center_vertical</item>
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.TitleSmall</item>
|
||||||
</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Detail" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Detail" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline5</item>
|
|
||||||
<item name="android:textAlignment">viewStart</item>
|
|
||||||
<item name="android:fontFamily">@font/inter_semibold</item>
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.HeadlineSmall</item>
|
||||||
|
<item name="android:textAlignment">viewStart</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Icon" parent="Widget.Auxio.TextView.Base">
|
<style name="Widget.Auxio.TextView.Icon" parent="Widget.Auxio.TextView.Base">
|
||||||
<item name="android:drawablePadding">@dimen/spacing_medium</item>
|
<item name="android:drawablePadding">@dimen/spacing_medium</item>
|
||||||
<item name="android:padding">@dimen/spacing_medium</item>
|
<item name="android:padding">@dimen/spacing_medium</item>
|
||||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
|
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyLarge</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.TextView.Icon.Clickable" parent="Widget.Auxio.TextView.Icon">
|
<style name="Widget.Auxio.TextView.Icon.Clickable" parent="Widget.Auxio.TextView.Icon">
|
||||||
|
@ -167,16 +154,11 @@
|
||||||
<item name="android:padding">@dimen/spacing_small</item>
|
<item name="android:padding">@dimen/spacing_small</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.Button.Primary" parent="Widget.Material3.Button.TextButton">
|
<style name="Widget.Auxio.Button.Primary" parent="Widget.Material3.Button">
|
||||||
<item name="android:textSize">@dimen/text_size_small</item>
|
|
||||||
<item name="android:textColor">?attr/colorSurface</item>
|
|
||||||
<item name="rippleColor">@color/mtrl_btn_ripple_color</item>
|
|
||||||
<item name="fontFamily">@font/inter_semibold</item>
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
<item name="android:backgroundTint">?attr/colorPrimary</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Widget.Auxio.Button.Secondary" parent="Widget.Material3.Button.OutlinedButton">
|
<style name="Widget.Auxio.Button.Secondary" parent="Widget.Material3.Button.OutlinedButton">
|
||||||
<item name="android:textSize">@dimen/text_size_small</item>
|
|
||||||
<item name="fontFamily">@font/inter_semibold</item>
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
90
app/src/main/res/values/typography.xml
Normal file
90
app/src/main/res/values/typography.xml
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<!--
|
||||||
|
Auxio's typography. We have to heavily modify these since Material3's default styles are insane
|
||||||
|
and not user-friendly in the slightest.
|
||||||
|
|
||||||
|
Also, can we talk about how god-awful applying fonts through a text appearance is? It's like
|
||||||
|
the value will be overridden if you look at the wrong way.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.DisplayLarge" parent="TextAppearance.Material3.DisplayLarge">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.DisplayMedium" parent="TextAppearance.Material3.DisplayMedium">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.DisplaySmall" parent="TextAppearance.Material3.DisplaySmall">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.HeadlineLarge" parent="TextAppearance.Material3.HeadlineLarge">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.HeadlineMedium" parent="TextAppearance.Material3.HeadlineMedium">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.HeadlineSmall" parent="TextAppearance.Material3.HeadlineSmall">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.TitleLarge" parent="TextAppearance.Material3.TitleLarge">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.TitleMedium" parent="TextAppearance.Material3.TitleMedium">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:textSize">20sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.TitleSmall" parent="TextAppearance.Material3.TitleSmall">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:textSize">18sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.LabelLarge" parent="TextAppearance.Material3.LabelLarge">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
<item name="android:textSize">16sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.LabelMedium" parent="TextAppearance.Material3.LabelMedium">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
<item name="android:textSize">14sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.LabelSmall" parent="TextAppearance.Material3.LabelSmall">
|
||||||
|
<item name="fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:fontFamily">@font/inter_semibold</item>
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
<item name="android:textSize">12sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.BodyLarge" parent="TextAppearance.Material3.BodyLarge">
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.BodyMedium" parent="TextAppearance.Material3.BodyMedium">
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="TextAppearance.Auxio.BodySmall" parent="TextAppearance.Material3.BodySmall">
|
||||||
|
<item name="android:letterSpacing">0</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
Loading…
Reference in a new issue