diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-03-23 04:16:32 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-03-23 04:16:32 +0000 |
| commit | 77892d354eda07d98e2dfa5d00fca1ed1f808d8b (patch) | |
| tree | 53c05f944d616eef5cbc3ee667ad6beb18665d23 /android-app/app/src/main/res/values/themes.xml | |
| parent | f024a6a1cbcb68395fe1a15d4ac852c2be2416e6 (diff) | |
feat: refactor UI to BottomNavigationView with Safety and Doc fragments
Replace FAB-based navigation with a 4-tab BottomNavigationView (Map,
Instruments, Log, Safety). Instruments use a collapsible bottom sheet;
Log and Safety display as full-screen overlay fragments.
- Add SafetyFragment with MOB and Anchor Watch controls
- Add DocFragment for in-app markdown help (Markwon: core, tables, images)
- Add layout_instruments_sheet with 3x3 instrument grid and PolarDiagramView
- Add fragment_safety and fragment_doc layouts
- Add vector drawables: ic_map, ic_instruments, ic_log, ic_safety, ic_close
- Update activity_main.xml to CoordinatorLayout with bottom sheet + overlay
- Fix: set isHideable=true before STATE_HIDDEN to avoid silent no-op from
behavior_hideable=false default; restore false on Map/Instruments tabs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'android-app/app/src/main/res/values/themes.xml')
| -rwxr-xr-x | android-app/app/src/main/res/values/themes.xml | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/android-app/app/src/main/res/values/themes.xml b/android-app/app/src/main/res/values/themes.xml index abef4b9..2281d96 100755 --- a/android-app/app/src/main/res/values/themes.xml +++ b/android-app/app/src/main/res/values/themes.xml @@ -1,64 +1,67 @@ <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools"> - <!-- Base application theme. --> - <style name="Theme.Nav" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> - <item name="colorPrimary">@color/purple_200</item> - <item name="colorPrimaryVariant">@color/purple_700</item> - <item name="colorOnPrimary">@color/black</item> - <item name="colorSecondary">@color/teal_200</item> - <item name="colorSecondaryVariant">@color/teal_200</item> - <item name="colorOnSecondary">@color/black</item> - <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> + <!-- Base application theme (Material 3) --> + <style name="Theme.Nav" parent="Theme.Material3.DayNight.NoActionBar"> + <item name="colorPrimary">@color/md_theme_primary</item> + <item name="colorOnPrimary">@color/md_theme_onPrimary</item> + <item name="colorPrimaryContainer">@color/md_theme_primaryContainer</item> + <item name="colorOnPrimaryContainer">@color/md_theme_onPrimaryContainer</item> + + <item name="colorSecondary">@color/md_theme_secondary</item> + <item name="colorOnSecondary">@color/md_theme_onSecondary</item> + <item name="colorSecondaryContainer">@color/md_theme_secondaryContainer</item> + <item name="colorOnSecondaryContainer">@color/md_theme_onSecondaryContainer</item> + + <item name="android:colorBackground">@color/md_theme_background</item> + <item name="colorSurface">@color/md_theme_surface</item> + <item name="colorOnSurface">@color/md_theme_onSurface</item> + <item name="colorSurfaceVariant">@color/md_theme_surfaceVariant</item> + <item name="colorOnSurfaceVariant">@color/md_theme_onSurfaceVariant</item> + + <item name="colorError">@color/md_theme_error</item> + <item name="colorOnError">@color/md_theme_onError</item> + <item name="colorErrorContainer">@color/md_theme_errorContainer</item> + <item name="colorOnErrorContainer">@color/md_theme_onErrorContainer</item> + + <item name="android:statusBarColor" tools:targetApi="l">?attr/colorSurface</item> + <item name="android:windowLightStatusBar">true</item> </style> - <!-- Maritime theme (weather/forecast features) --> - <style name="Theme.NavApp" parent="Theme.MaterialComponents.DayNight.NoActionBar"> - <item name="colorPrimary">@color/primary</item> - <item name="colorPrimaryDark">@color/primary_dark</item> - <item name="colorAccent">@color/accent</item> - <item name="android:statusBarColor">@color/primary_dark</item> - </style> - - <!-- Night Vision Theme --> - <style name="Theme.Nav.NightVision" parent="Theme.MaterialComponents.NoActionBar"> + <!-- Night Vision Theme (Stays Dark and Red) --> + <style name="Theme.Nav.NightVision" parent="Theme.Material3.DayNight.NoActionBar"> <item name="colorPrimary">@color/night_red_primary</item> - <item name="colorPrimaryVariant">@color/night_red_variant</item> <item name="colorOnPrimary">@color/night_on_red</item> - <item name="colorSecondary">@color/night_red_primary</item> - <item name="colorSecondaryVariant">@color/night_red_variant</item> - <item name="colorOnSecondary">@color/night_on_red</item> <item name="android:colorBackground">@color/night_background</item> <item name="colorSurface">@color/night_surface</item> <item name="colorOnSurface">@color/night_on_surface</item> <item name="android:statusBarColor" tools:targetApi="l">@color/night_background</item> + <item name="android:windowLightStatusBar">false</item> </style> <!-- Instrument Display Styles --> - <style name="InstrumentLabel" parent="Widget.AppCompat.TextView"> - <item name="android:layout_width">0dp</item> - <item name="android:layout_height">wrap_content</item> - <item name="android:gravity">center</item> - <item name="android:textColor">@color/instrument_text_normal</item> + <style name="InstrumentLabel" parent="android:Widget.TextView"> + <item name="android:textColor">@color/instrument_text_secondary</item> <item name="android:textSize">@dimen/text_size_instrument_label</item> + <item name="android:textAllCaps">true</item> + <item name="android:letterSpacing">0.1</item> <item name="android:textStyle">bold</item> - <item name="android:paddingTop">@dimen/instrument_padding</item> - <item name="android:paddingBottom">@dimen/instrument_padding</item> </style> - <style name="InstrumentPrimaryValue" parent="Widget.AppCompat.TextView"> - <item name="android:layout_width">0dp</item> - <item name="android:layout_height">wrap_content</item> - <item name="android:gravity">center</item> + <style name="InstrumentPrimaryValue" parent="android:Widget.TextView"> <item name="android:textColor">@color/instrument_text_normal</item> <item name="android:textSize">@dimen/text_size_instrument_primary</item> <item name="android:textStyle">bold</item> + <item name="android:includeFontPadding">false</item> </style> - <style name="InstrumentSecondaryLabel" parent="Widget.AppCompat.TextView"> - <item name="android:layout_width">0dp</item> - <item name="android:layout_height">wrap_content</item> - <item name="android:gravity">center</item> - <item name="android:textColor">@color/instrument_text_normal</item> + <style name="InstrumentSecondaryLabel" parent="android:Widget.TextView"> + <item name="android:textColor">@color/instrument_text_secondary</item> <item name="android:textSize">@dimen/text_size_instrument_secondary</item> </style> + + <style name="InstrumentCard" parent="Widget.Material3.CardView.Elevated"> + <item name="cardBackgroundColor">@color/instrument_card_background</item> + <item name="cardCornerRadius">12dp</item> + <item name="cardElevation">2dp</item> + </style> </resources> |
