pub struct AlwaysScrollable { /* private fields */ }Expand description
Flutter’s AlwaysScrollableScrollPhysics: accept a drag whether or not
there is anything to scroll, and defer everything else to the chained
parent.
Composed rather than used alone — AlwaysScrollable::new().chain(Clamping::new())
is a clamping surface that a pull-to-refresh gesture can still reach on a
short page.
Implementations§
Source§impl AlwaysScrollable
impl AlwaysScrollable
Sourcepub fn chain(self, parent: impl ScrollPhysics + 'static) -> Self
pub fn chain(self, parent: impl ScrollPhysics + 'static) -> Self
Chain parent behind this physics, the module-wide composition
convention (ScrollPhysics’ Chaining).
Trait Implementations§
Source§impl Debug for AlwaysScrollable
impl Debug for AlwaysScrollable
Source§impl Default for AlwaysScrollable
impl Default for AlwaysScrollable
Source§impl ScrollPhysics for AlwaysScrollable
impl ScrollPhysics for AlwaysScrollable
Source§fn should_accept_user_offset(&self, _metrics: &ScrollMetrics) -> bool
fn should_accept_user_offset(&self, _metrics: &ScrollMetrics) -> bool
The one thing this physics has an opinion about.
Source§fn parent(&self) -> Option<&dyn ScrollPhysics>
fn parent(&self) -> Option<&dyn ScrollPhysics>
The chained parent physics, if this one was built via
chain(...).
None for a physics built standalone (the chain’s root).Source§fn apply_physics_to_user_offset(
&self,
metrics: &ScrollMetrics,
offset: f64,
) -> f64
fn apply_physics_to_user_offset( &self, metrics: &ScrollMetrics, offset: f64, ) -> f64
Map a raw user drag delta (finger px, signed in the content’s own
direction) to the delta actually applied to the position. Must not
alter the in-bounds portion of a drag — only a physics with an
out-of-bounds opinion (e.g. added resistance) touches this. Read more
Source§fn apply_boundary_conditions(&self, metrics: &ScrollMetrics, value: f64) -> f64
fn apply_boundary_conditions(&self, metrics: &ScrollMetrics, value: f64) -> f64
Given a proposed new
pixels value, return the portion the position
must not absorb — the boundary-rejected excess. 0.0 means the
proposal is fully allowed (a bouncing physics past an edge); the full
proposed − clamped distance means none of it is (a clamping
physics). Read moreSource§fn create_ballistic_simulation(
&self,
metrics: &ScrollMetrics,
velocity: f64,
) -> Option<Box<dyn Simulation>>
fn create_ballistic_simulation( &self, metrics: &ScrollMetrics, velocity: f64, ) -> Option<Box<dyn Simulation>>
Build the ballistic motion to run after a gesture releases with
velocity (px/s, signed like ScrollMetrics::pixels). None means
no animation — the consuming widget falls back to its own legacy
path/rest handling. Read moreSource§fn carried_momentum(&self, existing_velocity: f64) -> f64
fn carried_momentum(&self, existing_velocity: f64) -> f64
Momentum (px/s) to add onto a new fling’s initial velocity when motion
is already live (a re-fling mid-animation carries some of the old
velocity forward rather than starting cold). Read more
Source§fn min_fling_velocity(&self) -> f64
fn min_fling_velocity(&self) -> f64
The minimum release speed that starts a fling. Read more
Source§fn max_fling_velocity(&self) -> f64
fn max_fling_velocity(&self) -> f64
The fastest fling speed this physics honors. Read more
Source§fn tolerance_for(&self, metrics: &ScrollMetrics) -> Tolerance
fn tolerance_for(&self, metrics: &ScrollMetrics) -> Tolerance
The velocity/distance tolerance a ballistic simulation settles within. Read more
Source§fn spring(&self) -> SpringDescription
fn spring(&self) -> SpringDescription
The spring a bounce-back/snap simulation is built from. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for AlwaysScrollable
impl !Send for AlwaysScrollable
impl !Sync for AlwaysScrollable
impl !UnwindSafe for AlwaysScrollable
impl Freeze for AlwaysScrollable
impl Unpin for AlwaysScrollable
impl UnsafeUnpin for AlwaysScrollable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.