Most visited

Recently visited

SwipeRefreshLayout

public class SwipeRefreshLayout
extends ViewGroup implements NestedScrollingParent, NestedScrollingChild

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.support.v4.widget.SwipeRefreshLayout


只要用户可以通过垂直轻扫手势刷新视图的内容,就应该使用SwipeRefreshLayout。 实例化此视图的活动应添加一个OnRefreshListener,以便在完成滑动刷新手势时得到通知。 SwipeRefreshLayout每次手势再次完成时都会通知监听者; 监听器负责正确确定何时实际启动其内容的刷新。 如果侦听器确定不应该进行刷新,则必须调用setRefreshing(false)来取消刷新的任何可视指示。 如果某个活动只想显示进度动画,则应调用setRefreshing(true)。 要禁用手势和进度动画,请在视图上调用setEnabled(false)。

此布局应作为视图的父级,该视图将作为手势的结果进行刷新,并且只能支持一个直接子项。 此视图也将成为手势的目标,并将被迫匹配此布局中提供的宽度和高度。 SwipeRefreshLayout不提供可访问性事件; 相反,必须提供菜单项以允许在使用此手势的位置刷新内容。

Summary

Nested classes

interface SwipeRefreshLayout.OnRefreshListener

在滑动手势正确触发刷新时希望收到通知的类应实现此接口。

Inherited XML attributes

From class android.view.ViewGroup
From class android.view.View

Constants

int DEFAULT

int LARGE

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Fields

protected int mFrom

protected int mOriginalOffsetTop

Inherited fields

From class android.view.View

Public constructors

SwipeRefreshLayout(Context context)

从代码创建SwipeRefreshLayout时使用的简单构造函数。

SwipeRefreshLayout(Context context, AttributeSet attrs)

从XML扩展SwipeRefreshLayout时调用的构造函数。

Public methods

boolean canChildScrollUp()
boolean dispatchNestedFling(float velocityX, float velocityY, boolean consumed)

向嵌套滚动父级派发一个投掷。

boolean dispatchNestedPreFling(float velocityX, float velocityY)

在此视图处理它之前,将嵌套分派给嵌套的滚动父级。

boolean dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow)

在该视图消耗其任何部分之前,调度正在进行的嵌套滚动的一个步骤。

boolean dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)

发送正在进行的嵌套滚动的一个步骤。

int getNestedScrollAxes()

返回此ViewGroup的嵌套滚动的当前轴。

int getProgressCircleDiameter()

获取作为刷卡一部分显示的进度圈的直径以刷新布局。

boolean hasNestedScrollingParent()

如果此视图具有嵌套滚动父级,则返回true。

boolean isNestedScrollingEnabled()

如果对此视图启用嵌套滚动,则返回true。

boolean isRefreshing()
boolean onInterceptTouchEvent(MotionEvent ev)

实施此方法来拦截所有触摸屏幕动作事件。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

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

从嵌套滚动中请求投掷。

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

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

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

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

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

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

void onNestedScrollAccepted(View child, View target, int axes)

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

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

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

void onStopNestedScroll(View target)

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

boolean onTouchEvent(MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

void requestDisallowInterceptTouchEvent(boolean b)

当孩子不希望这个父母及其祖先用 onInterceptTouchEvent(MotionEvent)截取触摸事件时 onInterceptTouchEvent(MotionEvent)

void setColorScheme(int... colors)

此方法已弃用。 使用setColorSchemeResources(int)

void setColorSchemeColors(int... colors)

设置进度动画中使用的颜色。

void setColorSchemeResources(int... colorResIds)

从颜色资源中设置进度动画中使用的颜色资源。

void setDistanceToTriggerSync(int distance)

设置距离以便在骤降时触发同步

void setNestedScrollingEnabled(boolean enabled)

启用或禁用此视图的嵌套滚动。

void setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener)

设置要在通过滑动手势触发刷新时收到通知的侦听器。

void setProgressBackgroundColor(int colorRes)

此方法已弃用。 使用setProgressBackgroundColorSchemeResource(int)

void setProgressBackgroundColorSchemeColor(int color)

设置进度微调器光盘的背景颜色。

void setProgressBackgroundColorSchemeResource(int colorRes)

设置进度微调器光盘的背景颜色。

void setProgressViewEndTarget(boolean scale, int end)

刷新指示器静止位置总是位于刷新内容的顶部附近。

void setProgressViewOffset(boolean scale, int start, int end)

刷新指示符的开始和结束位置总是位于刷新内容的顶部附近。

void setRefreshing(boolean refreshing)

通知小部件刷新状态已更改。

void setSize(int size)

其中一个是DEFAULT,或者是LARGE。

boolean startNestedScroll(int axes)

沿给定轴开始可嵌套滚动操作。

void stopNestedScroll()

停止正在进行的嵌套滚动。

Protected methods

int getChildDrawingOrder(int childCount, int i)

返回为此迭代绘制的子的索引。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

void onLayout(boolean changed, int left, int top, int right, int bottom)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。

Inherited methods

From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.support.v4.view.NestedScrollingParent
From interface android.support.v4.view.NestedScrollingChild

Constants

DEFAULT

int DEFAULT

常数值:1(0x00000001)

LARGE

int LARGE

常量值:0(0x00000000)

Fields

mFrom

int mFrom

mOriginalOffsetTop

int mOriginalOffsetTop

Public constructors

SwipeRefreshLayout

SwipeRefreshLayout (Context context)

从代码创建SwipeRefreshLayout时使用的简单构造函数。

SwipeRefreshLayout

SwipeRefreshLayout (Context context, 
                AttributeSet attrs)

从XML扩展SwipeRefreshLayout时调用的构造函数。

Public methods

canChildScrollUp

boolean canChildScrollUp ()

Returns
boolean Whether it is possible for the child view of this layout to scroll up. Override this if the child view is a custom view.

dispatchNestedFling

boolean dispatchNestedFling (float velocityX, 
                float velocityY, 
                boolean consumed)

向嵌套滚动父级派发一个投掷。

应该使用此方法来指示嵌套滚动的孩子已经检测到适用于投掷的适当条件。 通常这意味着触摸滚动以velocity的滚动方向结束,沿着可滚动的轴线满足或超过minimum fling velocity

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

Parameters
velocityX float: Horizontal fling velocity in pixels per second
velocityY float: Vertical fling velocity in pixels per second
consumed boolean: true if the child consumed the fling, false otherwise
Returns
boolean true if the nested scrolling parent consumed or otherwise reacted to the fling

dispatchNestedPreFling

boolean dispatchNestedPreFling (float velocityX, 
                float velocityY)

在此视图处理它之前,将嵌套分派给嵌套的滚动父级。

嵌套的预先掷骰事件是嵌套的掷骰事件,触摸截取是触摸的,嵌套的预滚动是嵌套滚动。 dispatchNestedPreFling在子视图消耗它之前,为嵌套的一堆中的父视图偏移一个机会以完全消耗该子视图。 如果此方法返回true ,则嵌套父视图消耗了该块,并且该视图不应该作为结果滚动。

为了获得更好的用户体验,嵌套滚动链中只有一个视图应该一次使用这个文件。 如果父视图消耗了这个方法,这个方法将返回false。 自定义视图实现应该以两种方式解决这个问题:

  • If a custom view is paged and needs to settle to a fixed page-point, do not call dispatchNestedPreFling; consume the fling and settle to a valid position regardless.
  • If a nested parent does consume the fling, this view should not scroll at all, even to settle back to a valid idle position.

视图也不应该在当前不支持滚动的坐标轴上为嵌套父视图提供快速速度; ScrollView不应该向其父母提供水平的投掷速度,因为沿着该轴的滚动是不允许的,并且沿着该运动的速度没有意义。

Parameters
velocityX float: Horizontal fling velocity in pixels per second
velocityY float: Vertical fling velocity in pixels per second
Returns
boolean true if a nested scrolling parent consumed the fling

dispatchNestedPreScroll

boolean dispatchNestedPreScroll (int dx, 
                int dy, 
                int[] consumed, 
                int[] offsetInWindow)

在该视图消耗其任何部分之前,调度正在进行的嵌套滚动的一个步骤。

嵌套的预滚动事件是嵌套的滚动事件是什么触摸拦截要触摸。 dispatchNestedPreScroll为嵌套滚动操作中的父视图提供了一个机会,以便在子视图消耗它之前消耗部分或全部滚动操作。

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.
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)

发送正在进行的嵌套滚动的一个步骤。

支持嵌套滚动的视图实现应该调用它来报告正在进行的滚动信息到当前嵌套的滚动父项。 如果嵌套滚动当前没有进行或嵌套滚动不是enabled这个视图,这个方法什么都不做。

在使用滚动事件本身的组件之前,兼容视图实现也应该调用 dispatchNestedPreScroll

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.
Returns
boolean true if the event was dispatched, false if it could not be dispatched.

getNestedScrollAxes

int getNestedScrollAxes ()

返回此ViewGroup的嵌套滚动的当前轴。

返回非 SCROLL_AXIS_NONE之外的ViewGroup目前充当层次结构中一个或多个后代视图的嵌套滚动父级。

Returns
int Flags indicating the current axes of nested scrolling

getProgressCircleDiameter

int getProgressCircleDiameter ()

获取作为刷卡一部分显示的进度圈的直径以刷新布局。 在度量关卡完成之前这是无效的。

Returns
int Diameter in pixels of the progress circle view.

hasNestedScrollingParent

boolean hasNestedScrollingParent ()

如果此视图具有嵌套滚动父级,则返回true。

嵌套滚动父项的存在表示该视图已启动嵌套滚动,并且被视图层次结构的更上层的祖先视图接受。

Returns
boolean whether this view has a nested scrolling parent

isNestedScrollingEnabled

boolean isNestedScrollingEnabled ()

如果对此视图启用嵌套滚动,则返回true。

如果启用了嵌套滚动并且此View类实现支持它,则该视图将在适用时充当嵌套滚动子视图,将有关正在进行的滚动操作的数据转发给兼容且协作的嵌套滚动父级。

Returns
boolean true if nested scrolling is enabled

isRefreshing

boolean isRefreshing ()

Returns
boolean Whether the SwipeRefreshWidget is actively showing refresh progress.

onInterceptTouchEvent

boolean onInterceptTouchEvent (MotionEvent ev)

实施此方法来拦截所有触摸屏幕动作事件。 这允许您在事件发送给您的孩子时观看事件,并在任何时候掌握当前手势的所有权。

使用这个函数需要注意,因为它与View.onTouchEvent(MotionEvent)有一个相当复杂的交互,并且使用它需要以正确的方式实现这个方法。 活动将按以下顺序收到:

  1. You will receive the down event here.
  2. The down event will be handled either by a child of this view group, or given to your own onTouchEvent() method to handle; this means you should implement onTouchEvent() to return true, so you will continue to see the rest of the gesture (instead of looking for a parent view to handle it). Also, by returning true from onTouchEvent(), you will not receive any following events in onInterceptTouchEvent() and all touch processing must happen in onTouchEvent() like normal.
  3. For as long as you return false from this function, each following event (up to and including the final up) will be delivered first here and then to the target's onTouchEvent().
  4. If you return true from here, you will not receive any following events: the target view will receive the same event but with the action ACTION_CANCEL, and all further events will be delivered to your onTouchEvent() method and no longer appear here.

Parameters
ev MotionEvent: The motion event being dispatched down the hierarchy.
Returns
boolean Return true to steal motion events from the children and have them dispatched to this ViewGroup through onTouchEvent(). The current target will receive an ACTION_CANCEL event, and no further messages will be delivered here.

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用,应由子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 不这样做会触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一个有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以更好地衡量其内容。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

onNestedFling

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

从嵌套滚动中请求投掷。

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

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

Parameters
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 (View target, 
                float velocityX, 
                float velocityY)

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

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

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

Parameters
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 (View target, 
                int dx, 
                int dy, 
                int[] consumed)

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

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

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

Parameters
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 (View target, 
                int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed)

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

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

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

Parameters
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 (View child, 
                View target, 
                int axes)

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

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

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

onStartNestedScroll

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

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

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

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

Parameters
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 (View target)

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

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

Parameters
target View: View that initiated the nested scroll

onTouchEvent

boolean onTouchEvent (MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

如果此方法用于检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
ev MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

requestDisallowInterceptTouchEvent

void requestDisallowInterceptTouchEvent (boolean b)

当孩子不希望这个父母及其祖先用 onInterceptTouchEvent(MotionEvent)拦截触摸事件时调用。

这位家长应该将此通知传递给其父母。 这位家长必须在接触期间服从这个要求(也就是说,只有在这位家长收到了或取消后才清除标志。

Parameters
b boolean: True if the child does not want the parent to intercept touch events.

setColorScheme

void setColorScheme (int... colors)

此方法已弃用。
使用setColorSchemeResources(int)

Parameters
colors int

setColorSchemeColors

void setColorSchemeColors (int... colors)

设置进度动画中使用的颜色。 第一种颜色也将是响应用户轻扫手势而增长的条形的颜色。

setColorSchemeResources

void setColorSchemeResources (int... colorResIds)

从颜色资源中设置进度动画中使用的颜色资源。 第一种颜色也将是响应用户轻扫手势而增长的条形的颜色。

setDistanceToTriggerSync

void setDistanceToTriggerSync (int distance)

设置距离以便在骤降时触发同步

setNestedScrollingEnabled

void setNestedScrollingEnabled (boolean enabled)

启用或禁用此视图的嵌套滚动。

如果此属性设置为true,则视图将被允许在当前层次结构中使用兼容父视图启动嵌套滚动操作。 如果这个视图没有实现嵌套滚动,这将不起作用。 嵌套滚动正在进行时禁用嵌套滚动具有stopping嵌套滚动的效果。

Parameters
enabled boolean: true to enable nested scrolling, false to disable

setOnRefreshListener

void setOnRefreshListener (SwipeRefreshLayout.OnRefreshListener listener)

设置要在通过滑动手势触发刷新时收到通知的侦听器。

Parameters
listener SwipeRefreshLayout.OnRefreshListener

setProgressBackgroundColor

void setProgressBackgroundColor (int colorRes)

此方法已弃用。
使用setProgressBackgroundColorSchemeResource(int)

Parameters
colorRes int

setProgressBackgroundColorSchemeColor

void setProgressBackgroundColorSchemeColor (int color)

设置进度微调器光盘的背景颜色。

setProgressBackgroundColorSchemeResource

void setProgressBackgroundColorSchemeResource (int colorRes)

设置进度微调器光盘的背景颜色。

Parameters
colorRes int: Resource id of the color.

setProgressViewEndTarget

void setProgressViewEndTarget (boolean scale, 
                int end)

刷新指示器静止位置总是位于刷新内容的顶部附近。 这个位置是一个一致的位置,但可以根据是否存在工具栏或操作栏,在任一方向上进行调整。

Parameters
scale boolean: Set to true if there is no view at a higher z-order than where the progress spinner is set to appear.
end int: The offset in pixels from the top of this view at which the progress spinner should come to rest after a successful swipe gesture.

setProgressViewOffset

void setProgressViewOffset (boolean scale, 
                int start, 
                int end)

刷新指示符的开始和结束位置总是位于刷新内容的顶部附近。 这个位置是一个一致的位置,但可以根据是否存在工具栏或操作栏,在任一方向上进行调整。

Parameters
scale boolean: Set to true if there is no view at a higher z-order than where the progress spinner is set to appear.
start int: The offset in pixels from the top of this view at which the progress spinner should appear.
end int: The offset in pixels from the top of this view at which the progress spinner should come to rest after a successful swipe gesture.

setRefreshing

void setRefreshing (boolean refreshing)

通知小部件刷新状态已更改。 不要在通过滑动手势触发刷新时调用此选项。

Parameters
refreshing boolean: Whether or not the view should show refresh progress.

setSize

void setSize (int size)

其中一个是DEFAULT,或者是LARGE。

Parameters
size int

startNestedScroll

boolean startNestedScroll (int axes)

沿给定轴开始可嵌套滚动操作。

开始嵌套滚动的视图承诺遵守以下合同:

该视图将在启动滚动操作时调用startNestedScroll。 在触摸滚动的情况下,这对应于最初的ACTION_DOWN 在触摸滚动的情况下,嵌套滚动将以与requestDisallowInterceptTouchEvent(boolean)相同的方式自动终止。 在编程滚动的情况下,调用者必须显式调用stopNestedScroll()来指示嵌套滚动的结束。

如果startNestedScroll返回true,则找到合作父项。 如果返回false,则在下一次滚动之前,调用方可能会忽略此合约的其余部分。 当嵌套滚动正在进行时调用startNestedScroll将返回true。

在滚动的每个增量步骤中,一旦计算出所请求的滚动增量,调用者就应该调用dispatchNestedPreScroll 如果它返回true,则嵌套滚动父级至少部分消耗滚动,并且调用者应该调整它滚动的数量。

在应用剩余滚动dispatchNestedScroll ,调用者应调用dispatchNestedScroll ,同时传递消耗的delta和未消耗的delta。 嵌套的滚动父级可能会以不同的方式处理这些值。 onNestedScroll(View, int, int, int, int)

Parameters
axes int: Flags consisting of a combination of SCROLL_AXIS_HORIZONTAL and/or SCROLL_AXIS_VERTICAL.
Returns
boolean true if a cooperative parent was found and nested scrolling has been enabled for the current gesture.

stopNestedScroll

void stopNestedScroll ()

停止正在进行的嵌套滚动。

当嵌套滚动当前不在进行中时调用此方法是无害的。

Protected methods

getChildDrawingOrder

int getChildDrawingOrder (int childCount, 
                int i)

返回为此迭代绘制的子的索引。 如果要更改儿童的绘图顺序,请覆盖此选项。 默认情况下,它返回i。

注意:为了调用此方法,您必须首先调用 setChildrenDrawingOrderEnabled(boolean)来启用子订单。

Parameters
childCount int
i int: The current iteration.
Returns
int The index of the child to draw this iteration.

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onLayout

void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。

Parameters
changed boolean: This is a new size or position for this view
left int: Left position, relative to parent
top int: Top position, relative to parent
right int: Right position, relative to parent
bottom int: Bottom position, relative to parent

Hooray!