Integrate Material You Dynamic Theming for Light & Dark Modes #743
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR enhances the theming system by integrating Material You dynamic colors for both light and dark modes. The app now adapts to the system’s color scheme if supported, ensuring a more personalized experience.
Proposed Changes
Added Dynamic Theming Support
Introduced Dynamic Text Theme Support
Replaced
kPrimaryColor
with a FunctiongetPrimaryColorTheme()
andgetSecondaryColorTheme()
functions.Get.theme.colorScheme
.Implemented Theme Update Logic
updateThemeColors()
function to dynamically update colors based on:Created a Unified Theme Getter
getThemeData({required bool isLight})
function:kLightThemeData
/kThemeData
).Refactored Theme Creation Methods
_createLightTheme(ColorScheme scheme)
and_createDarkTheme(ColorScheme scheme)
functions to:useMaterial3: true
.Fixes
Fixes #697
Screenshots
🔹 Light & Dark Theme Previews
✅ Checklist
kPrimaryColor
with dynamic color fetching functions for adaptability.updateThemeColors()
to manage theme colors dynamically based on system settings.