Skip to content

Lock action-pane intent for a continuous drag until neutral settle #546

Description

@lukemmtt

Summary

A continuous drag can currently switch from one action pane to the other after crossing back through neutral in the same interaction.

Repro

  1. Open a slidable with both start and end panes.
  2. Drag far enough to infer one pane.
  3. Without releasing, reverse direction past neutral.

Before: the opposite pane activates during one continuous drag

Current behavior

The originally inferred pane can disappear and the opposite pane can become active mid-drag.

Expected behavior

Drawer intent should be inferred once for the interactive drag lifecycle, then stay locked until the user releases and the slidable settles back at neutral.

Dragging past neutral during that same interaction should only show a small resisted rubber-band offset, not activate the opposite pane.

If the user releases from that overscrolled state, the child should animate back to neutral rather than jump.

Here's an example of the desired behavior, as seen from the Apple Notes app:

Before: the opposite pane activates during one continuous drag

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions