public void setup( RecyclerView rv, RecyclerView.ViewHolder vh, DraggingItemInfo info, int lastTouchX, int lastTouchY, ItemDraggableRange wrappedAdapterPange, ItemDraggableRange rootAdapterRange, boolean checkCanSwap) { this.rv = rv; this.draggingItemInfo = info; this.draggingItem = vh; this.lastTouchX = lastTouchX; this.lastTouchY = lastTouchY; this.wrappedAdapterRange = wrappedAdapterPange; this.rootAdapterRange = rootAdapterRange; this.checkCanSwap = checkCanSwap; this.layoutType = CustomRecyclerViewUtils.getLayoutType(rv); this.vertical = CustomRecyclerViewUtils.extractOrientation(this.layoutType) == CustomRecyclerViewUtils.ORIENTATION_VERTICAL; this.overlayItemLeft = this.overlayItemLeftNotClipped = lastTouchX - info.grabbedPositionX; this.overlayItemTop = this.overlayItemTopNotClipped = lastTouchY - info.grabbedPositionY; if (this.vertical) { this.overlayItemLeft = Math.max(this.overlayItemLeft, rv.getPaddingLeft()); this.overlayItemLeft = Math.min(this.overlayItemLeft, Math.max(0, rv.getWidth() - rv.getPaddingRight() - draggingItemInfo.width)); } else { this.overlayItemTop = Math.max(this.overlayItemTop, rv.getPaddingTop()); this.overlayItemTop = Math.min(this.overlayItemTop, Math.max(0, rv.getHeight() - rv.getPaddingBottom() - draggingItemInfo.height)); } }
/** * @param drawer * @return */ public AccountHeaderBuilder withDrawer(@NonNull Drawer drawer) { this.mDrawer = drawer; //set the top padding to 0 as this would happen when the AccountHeader is created during Drawer build time drawer.getRecyclerView().setPadding(drawer.getRecyclerView().getPaddingLeft(), 0, drawer.getRecyclerView().getPaddingRight(), drawer.getRecyclerView().getPaddingBottom()); return this; }
private static void updateGlowSize(RecyclerView rv, EdgeEffect glow, int dir) { int width = rv.getMeasuredWidth(); int height = rv.getMeasuredHeight(); if (getClipToPadding(rv)) { width -= rv.getPaddingLeft() + rv.getPaddingRight(); height -= rv.getPaddingTop() + rv.getPaddingBottom(); } width = Math.max(0, width); height = Math.max(0, height); if (dir == EDGE_LEFT || dir == EDGE_RIGHT) { int t = width; //noinspection SuspiciousNameCombination width = height; height = t; } glow.setSize(width, height); }
c.rotate(180); if (clipToPadding) { c.translate(-parent.getWidth() + parent.getPaddingRight(), -parent.getHeight() + parent.getPaddingBottom()); } else { c.translate(-parent.getWidth(), -parent.getHeight()); c.rotate(90); if (clipToPadding) { c.translate(parent.getPaddingTop(), -parent.getWidth() + parent.getPaddingRight()); } else { c.translate(0, -parent.getWidth());
drawer.mRecyclerView.setPadding(drawer.mRecyclerView.getPaddingLeft(), drawer.mRecyclerView.getPaddingTop(), drawer.mRecyclerView.getPaddingRight(), ctx.getResources().getDimensionPixelSize(R.dimen.material_drawer_padding));
mTranslationBottomLimit = rv.getHeight(); mTranslationLeftLimit += rv.getPaddingLeft(); mTranslationRightLimit -= rv.getPaddingRight(); break;
right = parent.getWidth() - parent.getPaddingRight(); } else { //horizontal top = parent.getPaddingTop();
final int paddingLeft = (fc.vertical) ? fc.rv.getPaddingLeft() : 0; final int paddingTop = (!fc.vertical) ? fc.rv.getPaddingTop() : 0; final int paddingRight = (fc.vertical) ? fc.rv.getPaddingRight() : 0; final int paddingBottom = (!fc.vertical) ? fc.rv.getPaddingBottom() : 0; final int columnWidth = (width - paddingLeft - paddingRight) / spanCount;
@Override void scrollToPosition(RecyclerView list, int pos) { if (list.getLayoutManager() instanceof LinearLayoutManager) { // Centering item in its parent final LinearLayoutManager manager = (LinearLayoutManager) list.getLayoutManager(); final boolean isHorizontal = manager.getOrientation() == LinearLayoutManager.HORIZONTAL; int offset = isHorizontal ? (list.getWidth() - list.getPaddingLeft() - list.getPaddingRight()) / 2 : (list.getHeight() - list.getPaddingTop() - list.getPaddingBottom()) / 2; final RecyclerView.ViewHolder holder = list.findViewHolderForAdapterPosition(pos); if (holder != null) { final View view = holder.itemView; offset -= isHorizontal ? view.getWidth() / 2 : view.getHeight() / 2; } manager.scrollToPositionWithOffset(pos, offset); } else { list.scrollToPosition(pos); } }
mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), UIUtils.getStatusBarHeight(ctx), mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom()); mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), mRecyclerView.getPaddingTop(), mRecyclerView.getPaddingRight(), UIUtils.getNavigationBarHeight(ctx));
final int rightDiff = curX + mSelected.itemView.getWidth() + mTmpRect.right - (mRecyclerView.getWidth() - mRecyclerView.getPaddingRight()); if (rightDiff > 0) { scrollX = rightDiff;
drawer.mRecyclerView.setPadding(drawer.mRecyclerView.getPaddingLeft(), 0, drawer.mRecyclerView.getPaddingRight(), drawer.mRecyclerView.getPaddingBottom());
/** * method to replace a previous set header * * @param view * @param padding * @param divider * @param height */ public void setHeader(@NonNull View view, boolean padding, boolean divider, DimenHolder height) { mDrawerBuilder.getHeaderAdapter().clear(); if (padding) { mDrawerBuilder.getHeaderAdapter().add(new ContainerDrawerItem().withView(view).withDivider(divider).withHeight(height).withViewPosition(ContainerDrawerItem.Position.TOP)); } else { mDrawerBuilder.getHeaderAdapter().add(new ContainerDrawerItem().withView(view).withDivider(divider).withHeight(height).withViewPosition(ContainerDrawerItem.Position.NONE)); } //we need to set the padding so the header starts on top mDrawerBuilder.mRecyclerView.setPadding(mDrawerBuilder.mRecyclerView.getPaddingLeft(), 0, mDrawerBuilder.mRecyclerView.getPaddingRight(), mDrawerBuilder.mRecyclerView.getPaddingBottom()); }
if (maxRight >= recyclerView.getWidth() - recyclerView.getPaddingRight()) { recyclerView.scrollToPosition(toPos);
grid.getPaddingRight() + insets.getSystemWindowInsetRight(), // landscape grid.getPaddingBottom() + insets.getSystemWindowInsetBottom());
int getDisplayWidth(RecyclerView view) { if (view == null) return 0; final int width = view.getMeasuredWidth() - view.getPaddingLeft() - view.getPaddingRight(); return width <= 0 ? 0 : width; }
private void measureView(@NonNull RecyclerView parent, @NonNull View header) { int widthSpec = View.MeasureSpec.makeMeasureSpec(parent.getWidth(), View.MeasureSpec.EXACTLY); int heightSpec = View.MeasureSpec.makeMeasureSpec(parent.getHeight(), View.MeasureSpec.UNSPECIFIED); int childWidth = ViewGroup.getChildMeasureSpec(widthSpec, parent.getPaddingLeft() + parent.getPaddingRight(), header.getLayoutParams().width); int childHeight = ViewGroup.getChildMeasureSpec(heightSpec, parent.getPaddingTop() + parent.getPaddingBottom(), header.getLayoutParams().height); header.measure(childWidth, childHeight); header.layout(0, 0, header.getMeasuredWidth(), header.getMeasuredHeight()); }
@Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { int left = parent.getPaddingLeft(); int right = parent.getWidth() - parent.getPaddingRight(); int childCount = parent.getChildCount(); for (int i = 0; i < childCount; i++) { View child = parent.getChildAt(i); RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); int top = child.getBottom() + params.bottomMargin; int bottom = top + divider.getIntrinsicHeight(); divider.setBounds(left, top, right, bottom); divider.draw(c); } } }
public void resizeBanner() { if (showViewPager() && !hideBanner()) { ViewGroup.LayoutParams layoutParams = mViewPagerParent.getLayoutParams(); layoutParams.height = AppSettings.getBannerSize(getActivity()); mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), layoutParams.height, mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom()); mViewPagerParent.requestLayout(); } }
@NonNull @Override public final RecyclerView onCreateRecyclerView(final LayoutInflater inflater, final ViewGroup parent, final Bundle savedInstanceState) { RecyclerView recyclerView = super.onCreateRecyclerView(inflater, parent, savedInstanceState); recyclerView.setClipToPadding(false); int paddingTop = getActivity().getResources().getDimensionPixelSize(R.dimen.list_view_padding_top); recyclerView.setPadding(recyclerView.getPaddingLeft(), paddingTop, recyclerView.getPaddingRight(), recyclerView.getPaddingBottom()); return recyclerView; }