chinwag-android/app/src/main/res/values/styles.xml
Nik Clayton 7fe4c9f317
Adjust list UX for platform consistency (#3142)
Most lists in the app use (explicitly or implicitly) platform metrics for dimensions, text size, colour, and so on, possibly via styles.

A few don't, inadvertently using the user's setting for status text size

Fix these, and simplify code where possible.

- Use android attributes for padding and height, for consistent UX.

- Remove explicit usage of app:tabTextAppearance, rely on the style.

- Remove ListSelectionAdapter and item_picker_list.xml, and adjust TabPreferenceActivity to use an ArrayAdapter with simple_list_item_1.xml

- Simplify item_followed_hashtag.xml, consistent with item_list.xml.

Fixes https://github.com/tuskyapp/Tusky/issues/3131
2023-06-29 18:36:19 +02:00

188 lines
8.1 KiB
XML

<resources>
<style name="TextSizeSmallest">
<item name="status_text_small">10sp</item>
<item name="status_text_medium">12sp</item>
<item name="status_text_large">14sp</item>
</style>
<style name="TextSizeSmall">
<item name="status_text_small">12sp</item>
<item name="status_text_medium">14sp</item>
<item name="status_text_large">16sp</item>
</style>
<style name="TextSizeMedium">
<item name="status_text_small">14sp</item>
<item name="status_text_medium">16sp</item>
<item name="status_text_large">18sp</item>
</style>
<style name="TextSizeLarge">
<item name="status_text_small">16sp</item>
<item name="status_text_medium">18sp</item>
<item name="status_text_large">20sp</item>
</style>
<style name="TextSizeLargest">
<item name="status_text_small">18sp</item>
<item name="status_text_medium">20sp</item>
<item name="status_text_large">22sp</item>
</style>
<style name="SplashTheme" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_splash</item>
<item name="windowSplashScreenBackground">@color/tusky_grey_20</item>
<item name="postSplashScreenTheme">@style/TuskyTheme</item>
</style>
<style name="TuskyTheme" parent="TuskyBaseTheme" />
<style name="TuskyDialogActivityTheme" parent="@style/TuskyTheme" />
<style name="TuskyBaseTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Provide default text sizes. These are overwritten in BaseActivity, but
if they are missing then the Android Studio layout preview crashes
with java.lang.reflect.InvocationTargetException -->
<item name="status_text_small">14sp</item>
<item name="status_text_medium">16sp</item>
<item name="status_text_large">18sp</item>
<item name="colorPrimary">@color/tusky_blue</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/tusky_blue</item>
<item name="colorOnSecondary">@color/white</item>
<item name="colorSurface">@color/colorSurface</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorBackground">@color/colorBackground</item>
<item name="colorBackgroundAccent">@color/colorBackgroundAccent</item>
<item name="colorBackgroundHighlight">@color/colorBackgroundHighlight</item>
<item name="windowBackgroundColor">@color/windowBackground</item>
<item name="android:textColorPrimary">@color/textColorPrimary</item>
<item name="android:textColorSecondary">@color/textColorSecondary</item>
<item name="android:textColorTertiary">@color/textColorTertiary</item>
<item name="iconColor">@color/iconColor</item>
<item name="android:listDivider">@drawable/status_divider</item>
<item name="dividerColor">@color/dividerColor</item>
<item name="textColorDisabled">@color/textColorDisabled</item>
<item name="materialDrawerStyle">@style/TuskyDrawerStyle</item>
<item name="materialDrawerHeaderStyle">@style/TuskyDrawerHeaderStyle</item>
<item name="alertDialogTheme">@style/TuskyDialog</item>
<item name="snackbarButtonStyle">@style/TuskyButton.TextButton</item>
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
<item name="minTouchTargetSize">32dp</item> <!-- this affects RadioButton size -->
<item name="elevationOverlayEnabled">false</item> <!-- disable the automatic tinting of surfaces with elevation in dark mode -->
<item name="swipeRefreshLayoutProgressSpinnerBackgroundColor">?attr/colorSurface</item>
<item name="chipStyle">@style/Widget.MaterialComponents.Chip.Choice</item>
<item name="preferenceTheme">@style/TuskyPreferenceTheme</item>
</style>
<style name="ViewMediaActivity.AppBarLayout" parent="ThemeOverlay.AppCompat">
<item name="android:colorControlNormal">@color/white</item>
</style>
<style name="TuskyDialog" parent="@style/ThemeOverlay.MaterialComponents.Dialog.Alert">
<item name="android:letterSpacing">0</item>
<item name="dialogCornerRadius">8dp</item>
<item name="android:background">@color/colorBackground</item>
</style>
<style name="TuskyDialogFragmentStyle" parent="@style/ThemeOverlay.MaterialComponents.Dialog">
<item name="dialogCornerRadius">8dp</item>
</style>
<style name="TuskyTabAppearance" parent="Widget.MaterialComponents.TabLayout">
<item name="tabTextAppearance">?android:attr/textAppearanceButton</item>
<item name="android:textAllCaps">true</item>
<item name="tabIndicatorHeight">3dp</item>
</style>
<style name="TuskyPreferenceTheme" parent="@style/PreferenceThemeOverlay.v14.Material">
<item name="android:tint">?iconColor</item>
</style>
<style name="TuskyImageButton" parent="@style/Widget.MaterialComponents.Button.UnelevatedButton">
<item name="android:tint">?android:attr/textColorTertiary</item>
<item name="android:background">?attr/selectableItemBackgroundBorderless</item>
</style>
<style name="TuskyButton" parent="Widget.MaterialComponents.Button">
<item name="android:letterSpacing">0</item>
</style>
<style name="TuskyButton.Outlined" parent="Widget.MaterialComponents.Button.OutlinedButton">
<item name="strokeColor">?attr/colorBackgroundAccent</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="TuskyButton.TextButton" parent="Widget.MaterialComponents.Button.TextButton">
<item name="android:letterSpacing">0</item>
</style>
<style name="TuskyButton.TextButton.Icon">
<!-- Buttons with icons need additional padding -->
<item name="android:paddingLeft">@dimen/m3_btn_icon_btn_padding_left</item>
<item name="android:paddingRight">@dimen/m3_btn_icon_btn_padding_right</item>
</style>
<style name="TuskyTextInput" parent="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
<item name="boxStrokeColor">@color/text_input_layout_box_stroke_color</item>
<item name="android:textColorHint">?android:attr/textColorTertiary</item>
</style>
<!--Black Application Theme Styles-->
<style name="TuskyBlackThemeBase" parent="TuskyBaseTheme">
<item name="colorPrimaryDark">@color/tusky_grey_05</item>
<item name="android:colorBackground">@color/black</item>
<item name="windowBackgroundColor">@color/black</item>
<item name="colorSurface">@color/tusky_grey_10</item>
<item name="iconColor">@color/tusky_grey_40</item>
<item name="colorBackgroundHighlight">@color/tusky_grey_40</item>
<item name="colorBackgroundAccent">@color/tusky_grey_20</item>
<item name="dividerColor">@color/tusky_grey_20</item>
</style>
<style name="TuskyBlackTheme" parent="TuskyBlackThemeBase" />
<style name="TuskyDrawerStyle" parent ="Widget.MaterialDrawerStyle">
<item name="materialDrawerBackground">?android:colorBackground</item>
<item name="materialDrawerPrimaryIcon">?iconColor</item>
<item name="materialDrawerSecondaryIcon">?iconColor</item>
<item name="materialDrawerDividerColor">?dividerColor</item>
</style>
<style name="TuskyDrawerHeaderStyle" parent ="Widget.MaterialDrawerHeaderStyle">
<item name="materialDrawerHeaderSelectionText">?android:textColorPrimary</item>
<item name="materialDrawerHeaderSelectionSubtext">?android:textColorPrimary</item>
</style>
<!-- customize the shape of the avatars in account selection list -->
<style name="BezelImageView">
<item name="materialDrawerMaskDrawable">@drawable/materialdrawer_shape_small</item>
<item name="materialDrawerDrawCircularShadow">false</item>
</style>
<style name="ShapeAppearance.Avatar" parent="ShapeAppearance.MaterialComponents">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">12.5%</item>
</style>
</resources>