dpad 1.2.2 copy "dpad: ^1.2.2" to clipboard
dpad: ^1.2.2 copied to clipboard

Flutter TV D-pad navigation system - as simple as native Android development

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.2.2 - 2025-11-25 #

Added #

  • Auto-scroll feature for DpadFocusable to ensure focused widgets are fully visible
  • autoScroll parameter to enable/disable auto-scroll (default: true)
  • scrollPadding parameter to control extra padding around focused widgets (default: 24.0)
  • Smart scrolling algorithm that handles both horizontal and vertical scroll containers
  • scrollToFocus() method in Dpad utility class for programmatic scroll control

Improved #

  • Focus effects like glow, shadows, and borders are now fully visible at viewport edges
  • Enhanced InheritedWidget pattern with _DpadNavigatorScope for O(1) ancestor lookup
  • Instance-based FocusHistoryManager per DpadNavigator for proper scope isolation
  • Better duplicate recording prevention with lastPoppedEntry tracking

Fixed #

  • Focus glow being clipped when items are at the edge of scrollable containers

1.2.1 - 2025-11-25 #

Fixed #

  • Improved focus memory safety by removing excessive FocusNode validation checks
  • Fixed context-based focus history retrieval in Dpad utility methods
  • Simplified FocusNode.isValid check for better performance and reliability
  • Updated DpadCore methods to require context parameter for navigator-scoped history
  • Fixed DpadNavigator scope isolation for independent focus history per navigator

Improved #

  • Enhanced error handling for disposed FocusNode detection
  • Optimized focus restoration logic to avoid redundant validation
  • Streamlined example code by removing debug shortcuts for focus history
  • Updated documentation to reflect context-based API changes

1.2.0 - 2025-11-23 #

Added #

  • Focus memory system for intelligent focus restoration
  • FocusMemoryOptions configuration for focus memory settings
  • region property in DpadFocusable for area identification
  • onNavigateBack callback in DpadNavigator for custom back navigation logic
  • Stack-based focus history management with configurable size limits
  • Route and region aware focus restoration

Features #

  • Automatic focus position restoration when returning to previous areas
  • Tab switching memory - returns to previously selected tab
  • Filter navigation memory - returns to previously selected filter option
  • Cross-route focus history tracking
  • Configurable focus memory size and regions
  • Complete backward compatibility with existing APIs

1.1.0 - 2025-11-14 #

Added #

  • Sequential navigation support with navigateNext() and navigatePrevious() methods
  • Default keyboard shortcuts for sequential navigation:
    • Tab/Shift+Tab for next/previous navigation
    • Media Track Next/Previous for media control
    • Channel Up/Down for TV remote sequential navigation
  • Enhanced documentation for sequential navigation use cases

Features #

  • Logical focus traversal order navigation (independent of spatial positioning)
  • Media player control support
  • Form field sequential navigation
  • List and grid item navigation
  • TV remote channel button support

1.0.0 - 2025-11-14 #

Added #

  • Initial release of Dpad - Flutter TV Navigation System
  • DpadNavigator widget for global D-pad event handling
  • DpadFocusable widget for making any widget focusable
  • FocusEffects class with 8+ built-in focus effects:
    • Border highlight
    • Glow/shadow effect
    • Scale animation
    • Gradient background
    • Elevation effect
    • Combined scale and border
    • Opacity transition
    • Color tint effect
  • Dpad utility class for programmatic navigation
  • Support for custom keyboard shortcuts
  • Platform-specific key handling (menu, back, select)
  • Full compatibility with Flutter's native focus system
  • Support for Android TV, Fire TV, Apple TV, and game controllers
  • Complete documentation and examples
  • TypeScript-like strong typing throughout
  • Performance optimizations for smooth navigation

Features #

  • Simple 3-step setup process
  • Custom focus effect builders
  • Programmatic focus control
  • Custom keyboard shortcuts support
  • Multi-platform TV support
  • Built-in accessibility features
  • Seamless Flutter integration

Documentation #

  • Comprehensive README with examples
  • API documentation in source code
  • Example app demonstrating all features
  • Migration guide from other solutions
8
likes
150
points
785
downloads

Publisher

verified publisherfluttercandies.com

Weekly Downloads

Flutter TV D-pad navigation system - as simple as native Android development

Repository (GitHub)
View/report issues

Topics

#android-tv #dpad-navigation #focus-management #fire-tv #apple-tv

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on dpad