awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rubensousa avatar

rubensousa/GravitySnapHelper

0
View on GitHub↗
4,989 stars·618 forks·Java·Apache-2.0·11 views

GravitySnapHelper

GravitySnapHelper is an Android list scrolling controller and RecyclerView snap helper designed to manage scroll velocity and align list items to specific container edges. It functions as a positioning mechanism to ensure elements snap to the viewport boundaries when user interaction stops.

The project provides specific support for right-to-left layout directions, ensuring that list items align correctly to screen edges regardless of the device language direction.

The tool includes capabilities for regulating scroll movement, such as restricting fling distances using pixel offsets or container percentages. It also monitors scroll speed and velocity to determine when items should trigger a transition to the next snap target.

Features

  • Scroll Alignment Controls - Manages scroll velocity and restricts fling distance to control the alignment and centering of elements within a viewport.
  • Android Scroll Physics Customization - Improves the tactile feel of scrolling lists by controlling fling distance and scroll velocity.
  • RecyclerView Layout Extensions - Extends Android's RecyclerView LayoutManager to enable automatic alignment of items to container edges.
  • Directional Edge Snapping - Aligns items in a scrollable list to a specific edge with automatic support for right-to-left layout directions.
  • Edge Alignment Snapping - Aligns items in a RecyclerView to the edges of the screen automatically when a user stops scrolling.
  • RecyclerView Scroll Listeners - Hooks into RecyclerView scroll state changes to intercept and modify final resting positions.
  • Scroll Snapping - Implements mechanisms to align a scrolling list item to the viewport boundary upon release.
  • Fling Distance Constraints - Constrains the maximum scroll distance of a fling operation using pixel offsets or container percentages.
  • Bidirectional Layout Support - Ensures scrollable list items snap correctly to viewport edges regardless of the device language direction.
  • Scroll Speed Multipliers - Adjusts scrolling velocity to determine if items snap to container edges for a better tactile feel.
  • RTL Layouts - Adjusts snap targets based on layout direction to ensure correct edge alignment in right-to-left locales.
  • Scroll Behavior Control - Restricts how far a list flings by setting a maximum pixel distance or a percentage of the container size.
  • Velocity-Based Completions - Monitors scroll speed to determine if a fling has enough momentum to trigger a transition to the next item.

Star history

Star history chart for rubensousa/gravitysnaphelperStar history chart for rubensousa/gravitysnaphelper

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does rubensousa/gravitysnaphelper do?

GravitySnapHelper is an Android list scrolling controller and RecyclerView snap helper designed to manage scroll velocity and align list items to specific container edges. It functions as a positioning mechanism to ensure elements snap to the viewport boundaries when user interaction stops.

What are the main features of rubensousa/gravitysnaphelper?

The main features of rubensousa/gravitysnaphelper are: Scroll Alignment Controls, Android Scroll Physics Customization, RecyclerView Layout Extensions, Directional Edge Snapping, Edge Alignment Snapping, RecyclerView Scroll Listeners, Scroll Snapping, Fling Distance Constraints.

What are some open-source alternatives to rubensousa/gravitysnaphelper?

Open-source alternatives to rubensousa/gravitysnaphelper include: yarolegovich/discretescrollview — DiscreteScrollView is a UI component and animation library for React Native designed to create centered scroll views… scwang90/smartrefreshlayout — SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll… meliorence/react-native-snap-carousel — This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It… andreamazz/amscrollingnavbar — AMScrollingNavbar is a Swift UI component and controller designed to synchronize the movement of a UINavigationBar… dingmouren/layoutmanagergroup — LayoutManagerGroup is a library of custom layout managers for Android RecyclerViews. It serves as a custom list layout… clauderic/react-tiny-virtual-list — React tiny virtual list is a zero-dependency component library that optimizes performance for extensive vertical and…

Open-source alternatives to GravitySnapHelper

Similar open-source projects, ranked by how many features they share with GravitySnapHelper.
  • yarolegovich/discretescrollviewyarolegovich avatar

    yarolegovich/DiscreteScrollView

    5,774View on GitHub↗

    DiscreteScrollView is a UI component and animation library for React Native designed to create centered scroll views and infinite scroll lists. It provides a mechanism to keep the active selection centered within the viewport while maintaining the visibility of adjacent items. The library enables the implementation of infinite carousels by looping through data sets without boundaries. It allows for the application of visual transformations to items based on their real-time scroll position relative to the center of the view. The toolset includes capabilities for monitoring selection states an

    Javaandroidandroid-developmentandroid-library
    View on GitHub↗5,774
  • scwang90/smartrefreshlayoutscwang90 avatar

    scwang90/SmartRefreshLayout

    25,141View on GitHub↗

    SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i

    Javaandroidandroid-uifooter
    View on GitHub↗25,141
  • meliorence/react-native-snap-carouselmeliorence avatar

    meliorence/react-native-snap-carousel

    10,519View on GitHub↗

    This project is a cross-platform mobile carousel component for creating swipeable image and content sliders. It functions as a virtualized list component that maintains performance by removing off-screen elements and utilizes a native-driver animation library to map scroll offsets to style properties on the native thread for lag-free transitions. The library provides a parallax image gallery capable of shifting images relative to scroll progress to create a sense of depth. It also features a layout system that supports right-to-left orientations for languages such as Arabic and Hebrew. Capab

    JavaScriptadvanced-effectscarouselflatlist-based
    View on GitHub↗10,519
  • andreamazz/amscrollingnavbarandreamazz avatar

    andreamazz/AMScrollingNavbar

    6,002View on GitHub↗

    AMScrollingNavbar is a Swift UI component and controller designed to synchronize the movement of a UINavigationBar with the scroll position of a UIScrollView. It acts as a navigation bar behavior modifier that allows the navigation bar to hide or reveal itself dynamically based on user scroll interactions. The project provides a mechanism to coordinate the movement of multiple interface elements, enabling supplementary views such as toolbars or tab bars to slide in synchronization with the navigation bar. It utilizes offset-based translation and customizable scroll speeds to control how quick

    Swift
    View on GitHub↗6,002
See all 30 alternatives to GravitySnapHelper→