Repository navigation
MetroMaps V1.2.1
MetroMaps 1.2.1 Release Notes
Version 1.2.1 focuses on performance, animation fluidity, and bringing the UX closer to a more accurate Windows Phone aesthetic.
🎞️ Fluid Motion & Animations
- Standardized Easing: Harmonized all major screen transitions (
Pivot,Search,Favorites) using a 400ms Cubic Ease Out curve for a more consistent, high-end feel. - Symmetric Pivot Transitions: Refined
PivotScreento enter and exit with matching speeds. - Jitter Elimination:
- Moved
BottomSheetanimations to run directly on the UI Thread, bypassing JS bridge delays. - Refactored Pivot headers to use timing-based transitions, removing stutter during rapid swipes.
- Moved
- Scroll Optimization: Added
offscreenPageLimitto tabbed views to pre-render adjacent content for stutter-free navigation.
🎨 Metro Design & UX
- Functional MPH Icon: The speed indicator in active navigation is now fully functional.
- One-Tap Results: Optimized the search flow so results now open with a single click.
- Full Search Results: Pressing "Enter" on a search now opens the full results screen, showing all matches at once.
- Screen-Edge Clipping: Adjusted the
Favoritesheader so text clips at the screen boundary rather than internal containers, recreating the authentic "oversized header" look. - Discrete Transitions: Switched pivot text color logic to discrete states, improving rendering performance across all devices.
- Custom MetroSwitch: Replaced generic checkboxes in the Options Menu with custom Metro Style switch based on the metro css guidelines.
- Hardware Integration: Improved the
OptionsMenuto support native Android hardware back buttons and swipe-to-close gestures.
🛠️ Performance & Stability
- Header Memoization: Optimized the
FavoritesSheetto prevent unnecessary re-renders during expansion/collapse. - Worklet Safety: Enhanced
BottomSheetgesture handlers using shared values for state tracking to keep the interface responsive. - API Resilience: Improved error handling and data mapping for location services to ensure the UI stays updated even with partial data.