public final class ViewParentCompat
extends Object
java.lang.Object | |
↳ | android.support.v4.view.ViewParentCompat |
Helper用于访问以向后兼容的方式在API级别4之后引入的 ViewParent
功能。
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) 由小孩打电话要求其父母发送 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
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:
|
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 |
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 |
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 |
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 |
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 |
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 |
void onStopNestedScroll (ViewParent parent, View target)
反应到嵌套滚动操作结束。
在嵌套滚动操作后执行清理。 此方法将在嵌套滚动停止时调用,例如,当嵌套触摸滚动以ACTION_UP
或ACTION_CANCEL
事件结束时。 如果存在这种方法的实现,则应始终调用其超类的此方法的实现。
Parameters | |
---|---|
parent |
ViewParent
|
target |
View : View that initiated the nested scroll |
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. |