belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
NestedScrollingChild2
  public
  
  
  
  interface
  NestedScrollingChild2
  
  
      implements
      
        NestedScrollingChild
      
  
  
| android.support.v4.view.NestedScrollingChild2 | 
|  Known Indirect Subclasses | 
This interface should be implemented by View subclasses that wish
 to support dispatching nested scrolling operations to a cooperating parent
 ViewGroup.
 
Classes implementing this interface should create a final instance of a
 NestedScrollingChildHelper as a field and delegate any View methods to the
 NestedScrollingChildHelper methods of the same signature.
Views invoking nested scrolling functionality should always do so from the relevant
 ViewCompat, ViewGroupCompat or ViewParentCompat compatibility
 shim static methods. This ensures interoperability with nested scrolling views on all versions
 of Android.
Summary
| Public methods | |
|---|---|
| 
        abstract
        
        
        
        
        boolean | 
      dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow, int type)
      Dispatch one step of a nested scroll in progress before this view consumes any portion of it. | 
| 
        abstract
        
        
        
        
        boolean | 
      dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow, int type)
      Dispatch one step of a nested scroll in progress. | 
| 
        abstract
        
        
        
        
        boolean | 
      hasNestedScrollingParent(int type)
      Returns true if this view has a nested scrolling parent for the given input type. | 
| 
        abstract
        
        
        
        
        boolean | 
      startNestedScroll(int axes, int type)
      Begin a nestable scroll operation along the given axes, for the given input type. | 
| 
        abstract
        
        
        
        
        void | 
      stopNestedScroll(int type)
      Stop a nested scroll in progress for the given input type. | 
| Inherited methods | |
|---|---|
|  From
interface 
  
    android.support.v4.view.NestedScrollingChild
  
 | |
Public methods
dispatchNestedPreScroll
boolean dispatchNestedPreScroll (int dx, 
                int dy, 
                int[] consumed, 
                int[] offsetInWindow, 
                int type)Dispatch one step of a nested scroll in progress before this view consumes any portion of it.
Nested pre-scroll events are to nested scroll events what touch intercept is to touch.
 dispatchNestedPreScroll offers an opportunity for the parent view in a nested
 scrolling operation to consume some or all of the scroll operation before the child view
 consumes it.
| Parameters | |
|---|---|
| dx | int: Horizontal scroll distance in pixels | 
| dy | int: Vertical scroll distance in pixels | 
| consumed | int: Output. If not null, consumed[0] will contain the consumed component of dx
                 and consumed[1] the consumed dy. | 
| offsetInWindow | int: Optional. If not null, on return this will contain the offset
                       in local view coordinates of this view from before this operation
                       to after it completes. View implementations may use this to adjust
                       expected input coordinate tracking. | 
| type | int: the type of input which cause this scroll event | 
| Returns | |
|---|---|
| boolean | true if the parent consumed some or all of the scroll delta | 
dispatchNestedScroll
boolean dispatchNestedScroll (int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed, 
                int[] offsetInWindow, 
                int type)Dispatch one step of a nested scroll in progress.
Implementations of views that support nested scrolling should call this to report
 info about a scroll in progress to the current nested scrolling parent. If a nested scroll
 is not currently in progress or nested scrolling is not
 enabled for this view this method does nothing.
Compatible View implementations should also call
 dispatchNestedPreScroll before
 consuming a component of the scroll event themselves.
| Parameters | |
|---|---|
| dxConsumed | int: Horizontal distance in pixels consumed by this view during this scroll step | 
| dyConsumed | int: Vertical distance in pixels consumed by this view during this scroll step | 
| dxUnconsumed | int: Horizontal scroll distance in pixels not consumed by this view | 
| dyUnconsumed | int: Horizontal scroll distance in pixels not consumed by this view | 
| offsetInWindow | int: Optional. If not null, on return this will contain the offset
                       in local view coordinates of this view from before this operation
                       to after it completes. View implementations may use this to adjust
                       expected input coordinate tracking. | 
| type | int: the type of input which cause this scroll event | 
| Returns | |
|---|---|
| boolean | true if the event was dispatched, false if it could not be dispatched. | 
hasNestedScrollingParent
boolean hasNestedScrollingParent (int type)
Returns true if this view has a nested scrolling parent for the given input type.
The presence of a nested scrolling parent indicates that this view has initiated a nested scroll and it was accepted by an ancestor view further up the view hierarchy.
| Parameters | |
|---|---|
| type | int: the type of input which cause this scroll event | 
| Returns | |
|---|---|
| boolean | whether this view has a nested scrolling parent | 
startNestedScroll
boolean startNestedScroll (int axes, 
                int type)Begin a nestable scroll operation along the given axes, for the given input type.
A view starting a nested scroll promises to abide by the following contract:
The view will call startNestedScroll upon initiating a scroll operation. In the case
 of a touch scroll type this corresponds to the initial ACTION_DOWN.
 In the case of touch scrolling the nested scroll will be terminated automatically in
 the same manner as requestDisallowInterceptTouchEvent(boolean).
 In the event of programmatic scrolling the caller must explicitly call
 stopNestedScroll(int) to indicate the end of the nested scroll.
If startNestedScroll returns true, a cooperative parent was found.
 If it returns false the caller may ignore the rest of this contract until the next scroll.
 Calling startNestedScroll while a nested scroll is already in progress will return true.
At each incremental step of the scroll the caller should invoke
 dispatchNestedPreScroll
 once it has calculated the requested scrolling delta. If it returns true the nested scrolling
 parent at least partially consumed the scroll and the caller should adjust the amount it
 scrolls by.
After applying the remainder of the scroll delta the caller should invoke
 dispatchNestedScroll, passing
 both the delta consumed and the delta unconsumed. A nested scrolling parent may treat
 these values differently. See
 onNestedScroll(View, int, int, int, int, int).
 
| Parameters | |
|---|---|
| axes | int: Flags consisting of a combination ofSCROLL_AXIS_HORIZONTALand/orSCROLL_AXIS_VERTICAL. | 
| type | int: the type of input which cause this scroll event | 
| Returns | |
|---|---|
| boolean | true if a cooperative parent was found and nested scrolling has been enabled for the current gesture. | 
stopNestedScroll
void stopNestedScroll (int type)
Stop a nested scroll in progress for the given input type.
Calling this method when a nested scroll is not currently in progress is harmless.
| Parameters | |
|---|---|
| type | int: the type of input which cause this scroll event | 
See also:
- Annotations
- Interfaces- ActionProvider.VisibilityListener
- AsyncLayoutInflater.OnInflateFinishedListener
- LayoutInflaterFactory
- MenuItemCompat.OnActionExpandListener
- NestedScrollingChild
- NestedScrollingChild2
- NestedScrollingParent
- NestedScrollingParent2
- OnApplyWindowInsetsListener
- ScrollingView
- TintableBackgroundView
- ViewPager.OnAdapterChangeListener
- ViewPager.OnPageChangeListener
- ViewPager.PageTransformer
- ViewPropertyAnimatorListener
- ViewPropertyAnimatorUpdateListener
 
- Classes- AbsSavedState
- AccessibilityDelegateCompat
- ActionProvider
- AsyncLayoutInflater
- GestureDetectorCompat
- GravityCompat
- InputDeviceCompat
- LayoutInflaterCompat
- MarginLayoutParamsCompat
- MenuCompat
- MenuItemCompat
- MotionEventCompat
- NestedScrollingChildHelper
- NestedScrollingParentHelper
- PagerAdapter
- PagerTabStrip
- PagerTitleStrip
- PointerIconCompat
- ScaleGestureDetectorCompat
- VelocityTrackerCompat
- ViewCompat
- ViewConfigurationCompat
- ViewGroupCompat
- ViewPager
- ViewPager.LayoutParams
- ViewPager.SavedState
- ViewPager.SimpleOnPageChangeListener
- ViewParentCompat
- ViewPropertyAnimatorCompat
- ViewPropertyAnimatorListenerAdapter
- WindowCompat
- WindowInsetsCompat
 
