App 2.16.4: drop-downs that keep full screen

Back to drop-downs for upload frequency, tyre pressure unit and accent
colour, as Material exposed dropdown menus instead of Spinners. A
Spinner's list is a focusable window of its own without the
full-screen flags, so the car showed its bars while it was open; an
exposed dropdown's list leaves the focus with the activity, so the app
stays full screen. Styled like the other input fields, with full-height
rows. Replaces the buttons of 2.16.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
This commit is contained in:
2026-10-18 20:11:25 +02:00
co-authored by Claude Opus 5.5
parent f614ab08be
commit 79bcfa05f6
14 changed files with 62 additions and 69 deletions
+13
View File
@@ -43,6 +43,19 @@
<item name="endIconTint">@color/ev_text_secondary</item>
<item name="helperTextTextAppearance">@style/Text.EV.Secondary</item>
</style>
<!-- A drop-down that keeps the app full screen: an exposed dropdown menu's list does not take
focus from the activity's window, unlike a Spinner's, so the car's bars stay hidden. -->
<style name="Widget.EV.Dropdown" parent="Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
<item name="boxBackgroundColor">@color/ev_background</item>
<item name="boxStrokeColor">@color/input_stroke</item>
<item name="boxStrokeWidth">1dp</item>
<item name="boxStrokeWidthFocused">2dp</item>
<item name="boxCornerRadiusTopStart">16dp</item>
<item name="boxCornerRadiusTopEnd">16dp</item>
<item name="boxCornerRadiusBottomStart">16dp</item>
<item name="boxCornerRadiusBottomEnd">16dp</item>
<item name="endIconTint">?attr/evAccent</item>
</style>
<style name="Text.EV.Eyebrow" parent="Text.EV.SectionHeader">
<item name="android:textSize">16sp</item>
<item name="android:textColor">?attr/evAccent</item>
-15
View File
@@ -97,19 +97,4 @@
<item name="cornerSize">18dp</item>
</style>
<!-- On-page single choice (choice_chip.xml): a full touch target, the accent when chosen. -->
<style name="Widget.EV.Choice" parent="Widget.Material3.Chip.Filter">
<item name="android:checkable">true</item>
<item name="checkedIconVisible">false</item>
<item name="chipMinHeight">@dimen/touch_target</item>
<item name="chipMinTouchTargetSize">@dimen/touch_target</item>
<item name="android:textSize">@dimen/text_body</item>
<item name="android:textColor">@color/choice_text</item>
<item name="chipBackgroundColor">@color/choice_background</item>
<item name="chipStrokeColor">@color/choice_stroke</item>
<item name="chipStrokeWidth">1dp</item>
<item name="chipStartPadding">16dp</item>
<item name="chipEndPadding">16dp</item>
<item name="ensureMinTouchTargetSize">false</item>
</style>
</resources>