Most visited

Recently visited

ViewParentCompat

public final class ViewParentCompat
extends Object

java.lang.Object
   ↳ android.support.v4.view.ViewParentCompat


Helper用于访问以向后兼容的方式在API级别4之后引入的 ViewParent功能。

Summary

Public methods

static void notifySubtreeAccessibilityStateChanged(ViewParent parent, View child, View source, int changeType)

通知视图父级其子元素的可访问性状态已发生变化,并且子树的结构不同。

static boolean onNestedFling(ViewParent parent, View target, float velocityX, float velocityY, boolean consumed)

从嵌套滚动中请求投掷。

static boolean onNestedPreFling(ViewParent parent, View target, float velocityX, float velocityY)

在目标视图消耗它之前,将其反应为嵌套的拖动。

static void onNestedPreScroll(ViewParent parent, View target, int dx, int dy, int[] consumed)

在目标视图占用滚动的一部分之前,对正在进行的嵌套滚动进行处理。

static void onNestedScroll(ViewParent parent, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed)

反应到正在进行的嵌套滚动。

static void onNestedScrollAccepted(ViewParent parent, View child, View target, int nestedScrollAxes)

响应成功声明嵌套滚动操作。

static boolean onStartNestedScroll(ViewParent parent, View child, View target, int nestedScrollAxes)

响应启动可嵌套滚动操作的后代视图,并在适当的情况下声明嵌套滚动操作。

static void onStopNestedScroll(ViewParent parent, View target)

反应到嵌套滚动操作结束。

static boolean requestSendAccessibilityEvent(ViewParent parent, View child, AccessibilityEvent event)

由小孩打电话要求其父母发送 AccessibilityEvent

Inherited methods

From class java.lang.Object

Public methods

notifySubtreeAccessibilityStateChanged

void notifySubtreeAccessibilityStateChanged (ViewParent parent, 
                View child, 
                View source, 
                int changeType)

通知视图父级其子元素的可访问性状态已发生变化,并且子树的结构不同。

Parameters
parent ViewParent
child View: The direct child whose subtree has changed.
source View: The descendant view that changed.
changeType int: A bit mask of the types of changes that occurred. One or more of:

onNestedFling

boolean onNestedFling (ViewParent parent, 
                View target, 
                float velocityX, 
                float velocityY, 
                boolean consumed)

从嵌套滚动中请求投掷。

这种方法表示嵌套滚动的孩子已经检测到适合于一阵子的条件。 通常这意味着触摸滚动以velocity的滚动方向结束,沿滚动轴满足或超过minimum fling velocity

如果嵌套的滚动子视图通常会抛出,但它位于其自己的内容的边缘,则可以使用此方法代替该嵌套的滚动父级。 父母可以有选择地消费一下,或者观察孩子的情绪。

Parameters
parent ViewParent
target View: View that initiated the nested scroll
velocityX float: Horizontal velocity in pixels per second
velocityY float: Vertical velocity in pixels per second
consumed boolean: true if the child consumed the fling, false otherwise
Returns
boolean true if this parent consumed or otherwise reacted to the fling

onNestedPreFling

boolean onNestedPreFling (ViewParent parent, 
                View target, 
                float velocityX, 
                float velocityY)

在目标视图消耗它之前,将其反应为嵌套的拖动。

这种方法意味着一个嵌套的滚动孩子已经检测到沿着每个轴具有给定速度的飞掷。 通常这意味着触摸滚动以velocity的滚动方向结束,沿着可滚动的轴线满足或超过minimum fling velocity

如果嵌套的滚动父级将动作作为pre-scroll一部分消耗,则它也可以使用预先动作来完成相同的动作。 通过从这种方法返回true ,父母表明孩子不应该true自己的内部内容。

Parameters
parent ViewParent
target View: View that initiated the nested scroll
velocityX float: Horizontal velocity in pixels per second
velocityY float: Vertical velocity in pixels per second
Returns
boolean true if this parent consumed the fling ahead of the target view

onNestedPreScroll

void onNestedPreScroll (ViewParent parent, 
                View target, 
                int dx, 
                int dy, 
                int[] consumed)

在目标视图占用滚动的一部分之前,对正在进行的嵌套滚动进行处理。

当经常使用嵌套滚动时,父视图可能希望有机会在嵌套滚动子代之前使用滚动。 一个例子是一个包含可滚动列表的抽屉。 用户将希望能够在列表本身开始滚动之前将列表完全滚动到视图中。

onNestedPreScroll在嵌套滚动子代调用时调用dispatchNestedPreScroll(View, int, int, int[], int[]) 该实现应报告dx,dy所报告的滚动像素是如何在consumed阵列中消耗的。 索引0对应于dx,索引1对应于dy。 该参数永远不会为空。 消耗[0]和消耗[1]的初始值将始终为0。

Parameters
parent ViewParent
target View: View that initiated the nested scroll
dx int: Horizontal scroll distance in pixels
dy int: Vertical scroll distance in pixels
consumed int: Output. The horizontal and vertical scroll distance consumed by this parent

onNestedScroll

void onNestedScroll (ViewParent parent, 
                View target, 
                int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed)

反应到正在进行的嵌套滚动。

当ViewParent的当前嵌套滚动子视图调度一个嵌套滚动事件时,将调用此方法。 要接收对此方法的调用,ViewParent必须先前返回true才能拨打onStartNestedScroll(ViewParent, View, View, int)

将滚动距离的消耗部分和未消耗部分都报告给ViewParent。 例如,实现可以选择使用消费部分来匹配或追踪多个子元素的滚动位置。 未消耗部分可用于允许连续拖动多个滚动或可拖动元素,诸如在垂直抽屉内滚动列表,其中抽屉在达到内部滚动内容的边缘时开始拖动。

Parameters
parent ViewParent
target View: The descendent view controlling the nested scroll
dxConsumed int: Horizontal scroll distance in pixels already consumed by target
dyConsumed int: Vertical scroll distance in pixels already consumed by target
dxUnconsumed int: Horizontal scroll distance in pixels not consumed by target
dyUnconsumed int: Vertical scroll distance in pixels not consumed by target

onNestedScrollAccepted

void onNestedScrollAccepted (ViewParent parent, 
                View child, 
                View target, 
                int nestedScrollAxes)

响应成功声明嵌套滚动操作。

此方法将在onStartNestedScroll返回true后onStartNestedScroll 它为视图及其超类为嵌套滚动执行初始配置提供了机会。 如果存在这种方法的实现,则应始终调用其超类的此方法的实现。

Parameters
parent ViewParent
child View: Direct child of this ViewParent containing target
target View: View that initiated the nested scroll
nestedScrollAxes int: Flags consisting of SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_VERTICAL or both

也可以看看:

onStartNestedScroll

boolean onStartNestedScroll (ViewParent parent, 
                View child, 
                View target, 
                int nestedScrollAxes)

响应启动可嵌套滚动操作的后代视图,并在适当的情况下声明嵌套滚动操作。

该方法将被调用以响应调用startNestedScroll(View, int)的后代视图。 视图层次结构中的每个父母将有机会通过返回true来响应和声明嵌套滚动操作。

ViewParent实现可能会重写此方法,以指示视图何时愿意支持即将开始的嵌套滚动操作。 如果它返回true,则在正在进行滚动操作期间,此ViewParent将成为目标视图的嵌套滚动父级。 当嵌套滚动完成后,此ViewParent将接收到对onStopNestedScroll(ViewParent, View)的呼叫。

Parameters
parent ViewParent
child View: Direct child of this ViewParent containing target
target View: View that initiated the nested scroll
nestedScrollAxes int: Flags consisting of SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_VERTICAL or both
Returns
boolean true if this ViewParent accepts the nested scroll operation

onStopNestedScroll

void onStopNestedScroll (ViewParent parent, 
                View target)

反应到嵌套滚动操作结束。

在嵌套滚动操作后执行清理。 此方法将在嵌套滚动停止时调用,例如,当嵌套触摸滚动以ACTION_UPACTION_CANCEL事件结束时。 如果存在这种方法的实现,则应始终调用其超类的此方法的实现。

Parameters
parent ViewParent
target View: View that initiated the nested scroll

requestSendAccessibilityEvent

boolean requestSendAccessibilityEvent (ViewParent parent, 
                View child, 
                AccessibilityEvent event)

由小孩打电话要求其父母发送AccessibilityEvent 该小孩已经在活动中为自己填充了一条记录,并正在委托其父母发送活动。 家长可以选择为自己添加记录。

注意:可访问性事件是由单个视图触发的,该事件使用其状态记录填充事件,并从其父级请求执行发送。 在将请求分派给其父代之前,父代可以有选择地为其自身添加记录。 家长也可以选择不尊重发送活动的请求。 可访问性事件由视图树中最顶层的视图发送。

Parameters
parent ViewParent: The parent whose method to invoke.
child View: The child which requests sending the event.
event AccessibilityEvent: The event to be sent.
Returns
boolean True if the event was sent.

Hooray!