@Nullable @Override public int[] calculateDistanceToFinalSnap(@NonNull RecyclerView.LayoutManager lm, @NonNull View targetView) { final int[] out = new int[] {0 ,0}; if (lm.canScrollHorizontally()) { final int targetStart = lm.getDecoratedLeft(targetView); out[0] = targetStart - ((TailLayoutManager)lm).getItemStart(); } return out; }
public RecyclerViewLayoutManagerAssert canScrollHorizontally() { isNotNull(); assertThat(actual.canScrollHorizontally()) // .overridingErrorMessage("Expected to be able to scroll horizontally but can not.") // .isTrue(); return this; }
public RecyclerViewLayoutManagerAssert canNotScrollHorizontally() { isNotNull(); assertThat(actual.canScrollHorizontally()) // .overridingErrorMessage("Expected to not be able to scroll horizontally but can.") // .isFalse(); return this; }
public RecyclerViewLayoutManagerAssert canScrollHorizontally() { isNotNull(); assertThat(actual.canScrollHorizontally()) // .overridingErrorMessage("Expected to be able to scroll horizontally but can not.") // .isTrue(); return this; }
@Override public int findTargetSnapPosition(RecyclerView.LayoutManager layoutManager, int velocityX, int velocityY) { if (layoutManager.canScrollHorizontally()) { mDirection = velocityX; } else { mDirection = velocityY; } return RecyclerView.NO_POSITION; }
@Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); boolean isLast = isLastRow(parent, view); if (isLast && mLastDividerSize <= 0) { return; } if (parent.getLayoutManager().canScrollHorizontally()) { outRect.right = getDividerSize(parent, isLast); } else if (parent.getLayoutManager().canScrollVertically()) { outRect.bottom = getDividerSize(parent, isLast); } }
@Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); if (mDivider == null) { return; } if (parent.getLayoutManager().canScrollHorizontally()) { drawHorizontal(c, parent); } else if (parent.getLayoutManager().canScrollVertically()) { drawVertical(c, parent); } }
@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { mPositionOnTouchDown = getLayoutManager().canScrollHorizontally() ? ViewUtils.getCenterXChildPosition(this) : ViewUtils.getCenterYChildPosition(this); if (DEBUG) { Log.d("@", "mPositionOnTouchDown:" + mPositionOnTouchDown); } } return super.dispatchTouchEvent(ev); }
@Nullable @Override public View findSnapView(RecyclerView.LayoutManager layoutManager) { if (layoutManager instanceof LinearLayoutManager) { if (layoutManager.canScrollHorizontally()) { return findStartView(layoutManager, getHorizontalHelper(layoutManager)); } else { return findStartView(layoutManager, getVerticalHelper(layoutManager)); } } return super.findSnapView(layoutManager); }
private int getDividerSize(RecyclerView parent, boolean isLast) { if (isLast) { return mLastDividerSize; } else { return mDividerSize != 0 ? mDividerSize : parent.getLayoutManager().canScrollHorizontally() ? mDivider.getIntrinsicWidth() : mDivider.getIntrinsicHeight(); } }
@Nullable @Override public View findSnapView(RecyclerView.LayoutManager layoutManager) { if (layoutManager.canScrollVertically()) { return findCenterView(layoutManager, getVerticalHelper(layoutManager)); } else if (layoutManager.canScrollHorizontally()) { return findCenterView(layoutManager, getHorizontalHelper(layoutManager)); } return null; }
@Override public View findSnapView(RecyclerView.LayoutManager layoutManager) { if (layoutManager instanceof LinearLayoutManager) { if (layoutManager.canScrollHorizontally()) { return getStartView(layoutManager, getHorizontalHelper(layoutManager)); } else { return getStartView(layoutManager, getVerticalHelper(layoutManager)); } } return super.findSnapView(layoutManager); }
@Override public void setLayoutManager(LayoutManager layout) { super.setLayoutManager(layout); if (layout != null) { mOrientation = layout.canScrollHorizontally() ? HORIZONTAL : VERTICAL; } }
@Override public int[] calculateDistanceToFinalSnap(@NonNull RecyclerView.LayoutManager layoutManager, @NonNull View targetView) { int[] out = new int[2]; if (layoutManager.canScrollHorizontally()) { out[0] = distanceToStart(targetView, getHorizontalHelper(layoutManager)); } else { out[0] = 0; } return out; }
public RecyclerViewLayoutManagerAssert canNotScrollHorizontally() { isNotNull(); assertThat(actual.canScrollHorizontally()) // .overridingErrorMessage("Expected to not be able to scroll horizontally but can.") // .isFalse(); return this; }
public View findViewAtCenter() { if (getLayoutManager().canScrollVertically()) { return findViewAt(0, getHeight() / 2); }else if (getLayoutManager().canScrollHorizontally()) { return findViewAt(getWidth() / 2, 0); } return null; }
final boolean isHorizontal = layoutManager.canScrollHorizontally(); final OrientationHelper orientationHelper = isHorizontal ? getHorizontalHelper(layoutManager) : getVerticalHelper(layoutManager);
@Nullable @Override public int[] calculateDistanceToFinalSnap(RecyclerView.LayoutManager layoutManager, View targetView) { int[] out = new int[2]; if (layoutManager.canScrollHorizontally()) { out[0] = distanceToStart(targetView, getHorizontalHelper(layoutManager)); } else { out[0] = 0; } return out; }
@Nullable @Override public int[] calculateDistanceToFinalSnap( @NonNull LayoutManager layoutManager, @NonNull View targetView) { int[] out = new int[2]; if (layoutManager.canScrollHorizontally()) { out[0] = distanceToStart(layoutManager, targetView, getHorizontalHelper(layoutManager)); } else { out[0] = 0; } if (layoutManager.canScrollVertically()) { out[1] = distanceToStart(layoutManager, targetView, getVerticalHelper(layoutManager)); } else { out[1] = 0; } return out; }
@Nullable @Override public View findSnapView(LayoutManager layoutManager) { if (layoutManager.canScrollVertically()) { return findViewClosestToStart(layoutManager, getVerticalHelper(layoutManager)); } else if (layoutManager.canScrollHorizontally()) { return findViewClosestToStart(layoutManager, getHorizontalHelper(layoutManager)); } return null; }