Interface RefreshComponent

  • All Implemented Interfaces:

    
    public interface RefreshComponent
    
                        

    刷新内部组件 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(Array<int> colors) 【仅限框架内调用】设置主题颜色
      abstract void onInitialized(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(RefreshLayout refreshLayout, int height, int maxDragHeight) 【仅限框架内调用】释放时刻(调用一次,将会触发加载)
      abstract void onStartAnimator(RefreshLayout refreshLayout, int height, int maxDragHeight) 【仅限框架内调用】开始动画
      abstract int onFinish(RefreshLayout refreshLayout, boolean success) 【仅限框架内调用】动画结束
      abstract void onHorizontalDrag(float percentX, int offsetX, int offsetMax) 【仅限框架内调用】水平方向的拖动
      abstract boolean isSupportHorizontalDrag() 是否支持水平方向的拖动(将会影响到onHorizontalDrag的调用)
      • Methods inherited from class java.lang.Object

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

    • Method Detail

      • getView

         abstract View getView()

        获取实体视图

        Returns:

        实体视图

      • getSpinnerStyle

         abstract SpinnerStyle getSpinnerStyle()

        获取变换方式 SpinnerStyle 必须返回 非空

        Returns:

        变换方式

      • setPrimaryColors

         abstract void setPrimaryColors(Array<int> colors)

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

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

         abstract void onInitialized(RefreshKernel kernel, int height, int maxDragHeight)

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

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

         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

         abstract void onReleased(RefreshLayout refreshLayout, int height, int maxDragHeight)

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

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

         abstract void onStartAnimator(RefreshLayout refreshLayout, int height, int maxDragHeight)

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

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

         abstract int onFinish(RefreshLayout refreshLayout, boolean success)

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

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

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

      • onHorizontalDrag

         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