Interface RefreshComponent

  • All Implemented Interfaces:
    io.rong.imkit.widget.refresh.listener.OnStateChangedListener

    
    public interface RefreshComponent
     implements OnStateChangedListener
                        

    刷新内部组件 Created by scwang on 2017/5/26.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract View getView() 获取实体视图
      abstract SpinnerStyle getSpinnerStyle() 获取变换方式 SpinnerStyle 必须返回 非空
      abstract void setPrimaryColors(@ColorInt() Array<int> colors) 【仅限框架内调用】设置主题颜色
      abstract void onInitialized(@NonNull() RefreshKernel kernel, int height, int maxDragHeight) 【仅限框架内调用】尺寸定义完成 (如果高度不改变(代码修改:setHeader),只调用一次, 在RefreshLayout#onMeasure中调用)
      abstract void onMoving(boolean isDragging, float percent, int offset, int height, int maxDragHeight) 【仅限框架内调用】手指拖动下拉(会连续多次调用,添加isDragging并取代之前的onPulling、onReleasing)
      abstract void onReleased(@NonNull() RefreshLayout refreshLayout, int height, int maxDragHeight) 【仅限框架内调用】释放时刻(调用一次,将会触发加载)
      abstract void onStartAnimator(@NonNull() RefreshLayout refreshLayout, int height, int maxDragHeight) 【仅限框架内调用】开始动画
      abstract int onFinish(@NonNull() RefreshLayout refreshLayout, boolean success) 【仅限框架内调用】动画结束
      abstract void onHorizontalDrag(float percentX, int offsetX, int offsetMax) 【仅限框架内调用】水平方向的拖动
      abstract boolean isSupportHorizontalDrag() 是否支持水平方向的拖动(将会影响到onHorizontalDrag的调用)
      • Methods inherited from class io.rong.imkit.widget.refresh.listener.OnStateChangedListener

        onStateChanged
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • getView

        @NonNull() abstract View getView()

        获取实体视图

        Returns:

        实体视图

      • setPrimaryColors

        @RestrictTo(value = {}) abstract void setPrimaryColors(@ColorInt() Array<int> colors)

        【仅限框架内调用】设置主题颜色

        Parameters:
        colors - 对应Xml中配置的 srlPrimaryColor srlAccentColor
      • onInitialized

        @RestrictTo(value = {}) abstract void onInitialized(@NonNull() RefreshKernel kernel, int height, int maxDragHeight)

        【仅限框架内调用】尺寸定义完成 (如果高度不改变(代码修改:setHeader),只调用一次, 在RefreshLayout#onMeasure中调用)

        Parameters:
        kernel - RefreshKernel
        height - HeaderHeight or FooterHeight
        maxDragHeight - 最大拖动高度
      • onMoving

        @RestrictTo(value = {}) abstract void onMoving(boolean isDragging, float percent, int offset, int height, int maxDragHeight)

        【仅限框架内调用】手指拖动下拉(会连续多次调用,添加isDragging并取代之前的onPulling、onReleasing)

        Parameters:
        isDragging - true 手指正在拖动 false 回弹动画
        percent - 下拉的百分比 值 = offset/footerHeight (0 - percent - (footerHeight+maxDragHeight) / footerHeight )
        offset - 下拉的像素偏移量 0 - offset - (footerHeight+maxDragHeight)
        height - 高度 HeaderHeight or FooterHeight (offset 可以超过 height 此时 percent 大于 1)
        maxDragHeight - 最大拖动高度 offset 可以超过 height 参数 但是不会超过 maxDragHeight
      • onReleased

        @RestrictTo(value = {}) abstract void onReleased(@NonNull() RefreshLayout refreshLayout, int height, int maxDragHeight)

        【仅限框架内调用】释放时刻(调用一次,将会触发加载)

        Parameters:
        refreshLayout - RefreshLayout
        height - 高度 HeaderHeight or FooterHeight
        maxDragHeight - 最大拖动高度
      • onStartAnimator

        @RestrictTo(value = {}) abstract void onStartAnimator(@NonNull() RefreshLayout refreshLayout, int height, int maxDragHeight)

        【仅限框架内调用】开始动画

        Parameters:
        refreshLayout - RefreshLayout
        height - HeaderHeight or FooterHeight
        maxDragHeight - 最大拖动高度
      • onFinish

        @RestrictTo(value = {}) abstract int onFinish(@NonNull() RefreshLayout refreshLayout, boolean success)

        【仅限框架内调用】动画结束

        Parameters:
        refreshLayout - RefreshLayout
        success - 数据是否成功刷新或加载
        Returns:

        完成动画所需时间 如果返回 Integer.MAX_VALUE 将取消本次完成事件,继续保持原有状态

      • onHorizontalDrag

        @RestrictTo(value = {}) abstract void onHorizontalDrag(float percentX, int offsetX, int offsetMax)

        【仅限框架内调用】水平方向的拖动

        Parameters:
        percentX - 下拉时,手指水平坐标对屏幕的占比(0 - percentX - 1)
        offsetX - 下拉时,手指水平坐标对屏幕的偏移(0 - offsetX - LayoutWidth)
        offsetMax - 最大的偏移量
      • isSupportHorizontalDrag

         abstract boolean isSupportHorizontalDrag()

        是否支持水平方向的拖动(将会影响到onHorizontalDrag的调用)

        Returns:

        水平拖动需要消耗更多的时间和资源,所以如果不支持请返回false