NestedScrollingChildHelper
open class NestedScrollingChildHelper
kotlin.Any | |
↳ | androidx.core.view.NestedScrollingChildHelper |
Helper class for implementing nested scrolling child views compatible with Android platform versions earlier than Android 5.0 Lollipop (API 21).
View
subclasses should instantiate a final instance of this class as a field at construction. For each View
method that has a matching method signature in this class, delegate the operation to the helper instance in an overridden method implementation. This implements the standard framework policy for nested scrolling.
Views invoking nested scrolling functionality should always do so from the relevant androidx.core.view.ViewCompat
, androidx.core.view.ViewGroupCompat
or androidx.core.view.ViewParentCompat
compatibility shim static methods. This ensures interoperability with nested scrolling views on Android 5.0 Lollipop and newer.
Summary
Public constructors |
|
---|---|
Construct a new helper for a given view. |
Public methods |
|
---|---|
open Boolean |
dispatchNestedFling(velocityX: Float, velocityY: Float, consumed: Boolean) Dispatch a nested fling operation to the current nested scrolling parent. |
open Boolean |
dispatchNestedPreFling(velocityX: Float, velocityY: Float) Dispatch a nested pre-fling operation to the current nested scrolling parent. |
open Boolean |
dispatchNestedPreScroll(dx: Int, dy: Int, @Nullable consumed: IntArray?, @Nullable offsetInWindow: IntArray?) Dispatch one step of a nested pre-scrolling operation to the current nested scrolling parent. |
open Boolean |
dispatchNestedPreScroll(dx: Int, dy: Int, @Nullable consumed: IntArray?, @Nullable offsetInWindow: IntArray?, type: Int) Dispatch one step of a nested pre-scrolling operation to the current nested scrolling parent. |
open Boolean |
dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?) Dispatch one step of a nested scrolling operation to the current nested scrolling parent. |
open Boolean |
dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?, type: Int) Dispatch one step of a nested scrolling operation to the current nested scrolling parent. |
open Unit |
dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?, type: Int, @Nullable consumed: IntArray?) Dispatch one step of a nested scrolling operation to the current nested scrolling parent. |
open Boolean |
Check if this view has a nested scrolling parent view currently receiving events for a nested scroll in progress with the type of touch. |
open Boolean |
hasNestedScrollingParent(type: Int) Check if this view has a nested scrolling parent view currently receiving events for a nested scroll in progress with the given type. |
open Boolean |
Check if nested scrolling is enabled for this view. |
open Unit |
View subclasses should always call this method on their |
open Unit |
onStopNestedScroll(@NonNull child: View) Called when a nested scrolling child stops its current nested scroll operation. |
open Unit |
setNestedScrollingEnabled(enabled: Boolean) Enable nested scrolling. |
open Boolean |
startNestedScroll(axes: Int) Start a new nested scroll for this view. |
open Boolean |
startNestedScroll(axes: Int, type: Int) Start a new nested scroll for this view. |
open Unit |
Stop a nested scroll in progress. |
open Unit |
stopNestedScroll(type: Int) Stop a nested scroll in progress. |
Public constructors
Public methods
dispatchNestedFling
open fun dispatchNestedFling(velocityX: Float, velocityY: Float, consumed: Boolean): Boolean
Dispatch a nested fling operation to the current nested scrolling parent.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed the nested fling |
dispatchNestedPreFling
open fun dispatchNestedPreFling(velocityX: Float, velocityY: Float): Boolean
Dispatch a nested pre-fling operation to the current nested scrolling parent.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed the nested fling |
dispatchNestedPreScroll
open fun dispatchNestedPreScroll(dx: Int, dy: Int, @Nullable consumed: IntArray?, @Nullable offsetInWindow: IntArray?): Boolean
Dispatch one step of a nested pre-scrolling operation to the current nested scrolling parent.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed any of the nested scroll |
dispatchNestedPreScroll
open fun dispatchNestedPreScroll(dx: Int, dy: Int, @Nullable consumed: IntArray?, @Nullable offsetInWindow: IntArray?, type: Int): Boolean
Dispatch one step of a nested pre-scrolling operation to the current nested scrolling parent.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild2
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed any of the nested scroll |
dispatchNestedScroll
open fun dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?): Boolean
Dispatch one step of a nested scrolling operation to the current nested scrolling parent.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed any of the nested scroll distance |
dispatchNestedScroll
open fun dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?, type: Int): Boolean
Dispatch one step of a nested scrolling operation to the current nested scrolling parent.
This is a delegate method. Call it from your NestedScrollingChild2
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if the parent consumed any of the nested scroll distance |
dispatchNestedScroll
open fun dispatchNestedScroll(dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, @Nullable offsetInWindow: IntArray?, type: Int, @Nullable consumed: IntArray?): Unit
Dispatch one step of a nested scrolling operation to the current nested scrolling parent.
This is a delegate method. Call it from your NestedScrollingChild3
interface method with the same signature to implement the standard policy.
hasNestedScrollingParent
open fun hasNestedScrollingParent(): Boolean
Check if this view has a nested scrolling parent view currently receiving events for a nested scroll in progress with the type of touch.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if this view has a nested scrolling parent, false otherwise |
hasNestedScrollingParent
open fun hasNestedScrollingParent(type: Int): Boolean
Check if this view has a nested scrolling parent view currently receiving events for a nested scroll in progress with the given type.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if this view has a nested scrolling parent, false otherwise |
isNestedScrollingEnabled
open fun isNestedScrollingEnabled(): Boolean
Check if nested scrolling is enabled for this view.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Return | |
---|---|
Boolean: true if nested scrolling is enabled for this view |
onDetachedFromWindow
open fun onDetachedFromWindow(): Unit
View subclasses should always call this method on their NestedScrollingChildHelper
when detached from a window.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
onStopNestedScroll
open fun onStopNestedScroll(@NonNull child: View): Unit
Called when a nested scrolling child stops its current nested scroll operation.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Parameters | |
---|---|
child |
View: Child view stopping its nested scroll. This may not be a direct child view. |
setNestedScrollingEnabled
open fun setNestedScrollingEnabled(enabled: Boolean): Unit
Enable nested scrolling.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Parameters | |
---|---|
enabled |
Boolean: true to enable nested scrolling dispatch from this view, false otherwise |
startNestedScroll
open fun startNestedScroll(axes: Int): Boolean
Start a new nested scroll for this view.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
Parameters | |
---|---|
axes |
Int: Supported nested scroll axes. See androidx.core.view.NestedScrollingChild#startNestedScroll(int) . |
Return | |
---|---|
Boolean: true if a cooperating parent view was found and nested scrolling started successfully |
startNestedScroll
open fun startNestedScroll(axes: Int, type: Int): Boolean
Start a new nested scroll for this view.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild2
interface method with the same signature to implement the standard policy.
Parameters | |
---|---|
axes |
Int: Supported nested scroll axes. See androidx.core.view.NestedScrollingChild2#startNestedScroll(int, * int) . |
Return | |
---|---|
Boolean: true if a cooperating parent view was found and nested scrolling started successfully |
stopNestedScroll
open fun stopNestedScroll(): Unit
Stop a nested scroll in progress.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild
interface method with the same signature to implement the standard policy.
stopNestedScroll
open fun stopNestedScroll(type: Int): Unit
Stop a nested scroll in progress.
This is a delegate method. Call it from your View
subclass method/androidx.core.view.NestedScrollingChild2
interface method with the same signature to implement the standard policy.