public class SuperRecyclerView
extends android.widget.FrameLayout
Modifier and Type | Class and Description |
---|---|
static class |
SuperRecyclerView.LAYOUT_MANAGER_TYPE |
android.widget.FrameLayout.LayoutParams
android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener
Modifier and Type | Field and Description |
---|---|
protected boolean |
isLoadingMore |
protected int |
ITEM_LEFT_TO_LOAD_MORE |
private int[] |
lastScrollPositions |
protected SuperRecyclerView.LAYOUT_MANAGER_TYPE |
layoutManagerType |
protected boolean |
mClipToPadding |
protected android.view.ViewStub |
mEmpty |
protected int |
mEmptyId |
protected android.view.View |
mEmptyView |
protected android.support.v7.widget.RecyclerView.OnScrollListener |
mExternalOnScrollListener |
protected android.support.v7.widget.RecyclerView.OnScrollListener |
mInternalOnScrollListener |
protected android.view.ViewStub |
mMoreProgress |
protected int |
mMoreProgressId |
protected android.view.View |
mMoreProgressView |
protected OnMoreListener |
mOnMoreListener |
protected int |
mPadding |
protected int |
mPaddingBottom |
protected int |
mPaddingLeft |
protected int |
mPaddingRight |
protected int |
mPaddingTop |
protected android.view.ViewStub |
mProgress |
private int |
mProgressId |
protected android.view.View |
mProgressView |
protected android.support.v4.widget.SwipeRefreshLayout |
mPtrLayout |
protected android.support.v7.widget.RecyclerView |
mRecycler |
protected int |
mScrollbarStyle |
protected int |
mSuperRecyclerViewMainLayout |
private android.support.v7.widget.RecyclerView.OnScrollListener |
mSwipeDismissScrollListener |
CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
Constructor and Description |
---|
SuperRecyclerView(android.content.Context context) |
SuperRecyclerView(android.content.Context context,
android.util.AttributeSet attrs) |
SuperRecyclerView(android.content.Context context,
android.util.AttributeSet attrs,
int defStyle) |
Modifier and Type | Method and Description |
---|---|
void |
addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration) |
void |
addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration,
int index) |
void |
addOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener listener)
Add the onItemTouchListener for the recycler
|
private int |
caseStaggeredGrid(android.support.v7.widget.RecyclerView.LayoutManager layoutManager) |
void |
clear()
Remove the adapter from the recycler
|
private int |
findMax(int[] lastPositions) |
android.support.v7.widget.RecyclerView.Adapter |
getAdapter() |
android.view.View |
getEmptyView() |
private int |
getLastVisibleItemPosition(android.support.v7.widget.RecyclerView.LayoutManager layoutManager) |
android.view.View |
getMoreProgressView() |
android.view.View |
getProgressView() |
android.support.v7.widget.RecyclerView |
getRecyclerView() |
android.support.v4.widget.SwipeRefreshLayout |
getSwipeToRefresh() |
void |
hideMoreProgress() |
void |
hideProgress()
Hide the progressbar
|
void |
hideRecycler()
Hide the recycler
|
protected void |
initAttrs(android.util.AttributeSet attrs) |
protected void |
initRecyclerView(android.view.View view)
Implement this method to customize the AbsListView
|
private void |
initView() |
boolean |
isLoadingMore() |
private void |
processOnMore() |
void |
removeItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration) |
void |
removeMoreListener()
Remove the moreListener
|
void |
removeOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener listener)
Remove the onItemTouchListener for the recycler
|
void |
setAdapter(android.support.v7.widget.RecyclerView.Adapter adapter)
Set the adapter to the recycler
Automatically hide the progressbar
Set the refresh to false
If adapter is empty, then the emptyview is shown
|
private void |
setAdapterInternal(android.support.v7.widget.RecyclerView.Adapter adapter,
boolean compatibleWithPrevious,
boolean removeAndRecycleExistingViews) |
void |
setLayoutManager(android.support.v7.widget.RecyclerView.LayoutManager manager)
Set the layout manager to the recycler
|
void |
setLoadingMore(boolean isLoadingMore)
Enable/Disable the More event
|
void |
setNumberBeforeMoreIsCalled(int max) |
void |
setOnMoreListener(OnMoreListener onMoreListener) |
void |
setOnScrollListener(android.support.v7.widget.RecyclerView.OnScrollListener listener)
Set the scroll listener for the recycler
|
void |
setOnTouchListener(android.view.View.OnTouchListener listener) |
void |
setRefreshing(boolean refreshing) |
void |
setRefreshingColor(int col1,
int col2,
int col3,
int col4)
Set the colors for the SwipeRefreshLayout states
|
void |
setRefreshingColorResources(int colRes1,
int colRes2,
int colRes3,
int colRes4)
Set the colors for the SwipeRefreshLayout states
|
void |
setRefreshListener(android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener listener)
Set the listener when refresh is triggered and enable the SwipeRefreshLayout
|
void |
setupMoreListener(OnMoreListener onMoreListener,
int max)
Sets the More listener
|
void |
setupSwipeToDismiss(SwipeDismissRecyclerViewTouchListener.DismissCallbacks listener) |
void |
showMoreProgress() |
void |
showProgress()
Show the progressbar
|
void |
showRecycler()
Hide the progressbar and show the recycler
|
void |
smoothScrollBy(int dx,
int dy)
Animate a scroll by the given amount of pixels along either axis.
|
void |
swapAdapter(android.support.v7.widget.RecyclerView.Adapter adapter,
boolean removeAndRecycleExistingViews) |
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, onLayout, onMeasure, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedState
addChildrenForAccessibility, addFocusables, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasFocusable, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayout
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, animate, announceForAccessibility, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, dispatchStartTemporaryDetach, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineProvider, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isInEditMode, isInLayout, isInTouchMode, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPopulateAccessibilityEvent, onProvideStructure, onProvideVirtualStructure, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityLiveRegion, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setForeground, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setKeepScreenOn, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOutlineProvider, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, requestFitSystemWindows, requestLayout
protected int ITEM_LEFT_TO_LOAD_MORE
protected android.support.v7.widget.RecyclerView mRecycler
protected android.view.ViewStub mProgress
protected android.view.ViewStub mMoreProgress
protected android.view.ViewStub mEmpty
protected android.view.View mProgressView
protected android.view.View mMoreProgressView
protected android.view.View mEmptyView
protected boolean mClipToPadding
protected int mPadding
protected int mPaddingTop
protected int mPaddingBottom
protected int mPaddingLeft
protected int mPaddingRight
protected int mScrollbarStyle
protected int mEmptyId
protected int mMoreProgressId
protected SuperRecyclerView.LAYOUT_MANAGER_TYPE layoutManagerType
protected android.support.v7.widget.RecyclerView.OnScrollListener mInternalOnScrollListener
private android.support.v7.widget.RecyclerView.OnScrollListener mSwipeDismissScrollListener
protected android.support.v7.widget.RecyclerView.OnScrollListener mExternalOnScrollListener
protected OnMoreListener mOnMoreListener
protected boolean isLoadingMore
protected android.support.v4.widget.SwipeRefreshLayout mPtrLayout
protected int mSuperRecyclerViewMainLayout
private int mProgressId
private int[] lastScrollPositions
public SuperRecyclerView(android.content.Context context)
public SuperRecyclerView(android.content.Context context, android.util.AttributeSet attrs)
public SuperRecyclerView(android.content.Context context, android.util.AttributeSet attrs, int defStyle)
public android.support.v4.widget.SwipeRefreshLayout getSwipeToRefresh()
public android.support.v7.widget.RecyclerView getRecyclerView()
protected void initAttrs(android.util.AttributeSet attrs)
private void initView()
protected void initRecyclerView(android.view.View view)
private void processOnMore()
private int getLastVisibleItemPosition(android.support.v7.widget.RecyclerView.LayoutManager layoutManager)
private int caseStaggeredGrid(android.support.v7.widget.RecyclerView.LayoutManager layoutManager)
private int findMax(int[] lastPositions)
private void setAdapterInternal(android.support.v7.widget.RecyclerView.Adapter adapter, boolean compatibleWithPrevious, boolean removeAndRecycleExistingViews)
adapter
- The new adapter to set, or null to set no adaptercompatibleWithPrevious
- Should be set to true if new adapter uses the same
as previous oneremoveAndRecycleExistingViews
- If set to true, RecyclerView will recycle all existing Views. If adapters
have stable ids and/or you want to animate the disappearing views, you may
prefer to set this to falsepublic void setLayoutManager(android.support.v7.widget.RecyclerView.LayoutManager manager)
public void setAdapter(android.support.v7.widget.RecyclerView.Adapter adapter)
public void swapAdapter(android.support.v7.widget.RecyclerView.Adapter adapter, boolean removeAndRecycleExistingViews)
adapter
- The new adapter to , or null to set no adapter.removeAndRecycleExistingViews
- If set to true, RecyclerView will recycle all existing Views. If adapters
have stable ids and/or you want to animate the disappearing views, you may
prefer to set this to false.public void setupSwipeToDismiss(SwipeDismissRecyclerViewTouchListener.DismissCallbacks listener)
public void clear()
public void showProgress()
public void showRecycler()
public void showMoreProgress()
public void hideMoreProgress()
public void setRefreshing(boolean refreshing)
public void setRefreshListener(android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener listener)
public void setRefreshingColorResources(@ColorRes int colRes1, @ColorRes int colRes2, @ColorRes int colRes3, @ColorRes int colRes4)
public void setRefreshingColor(int col1, int col2, int col3, int col4)
public void hideProgress()
public void hideRecycler()
public void setOnScrollListener(android.support.v7.widget.RecyclerView.OnScrollListener listener)
public void addOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener listener)
public void removeOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener listener)
public android.support.v7.widget.RecyclerView.Adapter getAdapter()
public void setupMoreListener(OnMoreListener onMoreListener, int max)
max
- Number of items before loading morepublic void setOnMoreListener(OnMoreListener onMoreListener)
public void setNumberBeforeMoreIsCalled(int max)
public boolean isLoadingMore()
public void setLoadingMore(boolean isLoadingMore)
public void removeMoreListener()
public void setOnTouchListener(android.view.View.OnTouchListener listener)
setOnTouchListener
in class android.view.View
public void addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration)
public void addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration, int index)
public void removeItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration itemDecoration)
public android.view.View getProgressView()
public android.view.View getMoreProgressView()
public android.view.View getEmptyView()
public void smoothScrollBy(int dx, int dy)
dx
- Pixels to scroll horizontallydy
- Pixels to scroll vertically