androidx.recyclerview.widget.RecyclerView#setClipToPadding ( )源码实例Demo

下面列出了androidx.recyclerview.widget.RecyclerView#setClipToPadding ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    RecyclerView rv = super.onCreateRecyclerView(inflater, parent, savedInstanceState);
    rv.setClipToPadding(false);
    rv.setFitsSystemWindows(true);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        rv.setOnApplyWindowInsetsListener((v, insets) -> {
            v.setPadding(
                    insets.getSystemWindowInsetLeft(),
                    0,
                    insets.getSystemWindowInsetRight(),
                    insets.getSystemWindowInsetBottom()
            );
            return insets;
        });
    }
    return rv;
}
 
private RecyclerView createRecyclerView(boolean listTypeGrid) {
  Context context = requireContext();
  RecyclerView recyclerView = new RecyclerView(context);
  recyclerView.setLayoutParams(
      new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
  int verticalPadding =
      context.getResources().getDimensionPixelSize(R.dimen.album_list_padding_vertical);
  recyclerView.setPadding(0, verticalPadding, 0, verticalPadding);
  recyclerView.setClipToPadding(false);
  if (listTypeGrid) {
    recyclerView.setLayoutManager(new GridLayoutManager(context, GRID_SPAN_COUNT));
  } else {
    recyclerView.setLayoutManager(new LinearLayoutManager(context));
    recyclerView.addItemDecoration(
        new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
  }
  return recyclerView;
}
 
源代码3 项目: RvHelper   文件: OptimumRecyclerView.java
/**
 * Implement this method to customize the AbsListView
 */
protected void initRecyclerView(View view) {
    View recyclerView = view.findViewById(android.R.id.list);

    if (recyclerView instanceof RecyclerView)
        mRecyclerView = (RecyclerView) recyclerView;
    else
        throw new IllegalArgumentException("OptimumRecyclerview works with a RecyclerView!");

    mRecyclerView.setClipToPadding(mClipToPadding);

    if (!FloatUtil.compareFloats(mPadding, -1.0f)) {
        mRecyclerView.setPadding(mPadding, mPadding, mPadding, mPadding);
    } else {
        mRecyclerView.setPadding(mPaddingLeft, mPaddingTop, mPaddingRight, mPaddingBottom);
    }
    if (mScrollbarStyle != -1) {
        mRecyclerView.setScrollBarStyle(mScrollbarStyle);
    }
}
 
源代码4 项目: Mysplash   文件: MysplashSettingsFragment.java
@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    RecyclerView rv = super.onCreateRecyclerView(inflater, parent, savedInstanceState);
    rv.setClipToPadding(false);
    rv.setFitsSystemWindows(true);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        rv.setOnApplyWindowInsetsListener((v, insets) -> {
            v.setPadding(
                    insets.getSystemWindowInsetLeft(),
                    0,
                    insets.getSystemWindowInsetRight(),
                    insets.getSystemWindowInsetBottom()
            );
            return insets;
        });
    }
    return rv;
}
 
源代码5 项目: MaterialStepperView   文件: VerticalStepperView.java
private void prepareListView(Context context) {
	mListView = new RecyclerView(context);
	mAdapter = new ItemAdapter();

	mListView.setClipToPadding(false);
	mListView.setPadding(0, getResources().getDimensionPixelSize(R.dimen.stepper_margin_top), 0, 0);

	mListView.addItemDecoration(new VerticalSpaceItemDecoration(
			getResources().getDimensionPixelSize(R.dimen.vertical_stepper_item_space_height)));
	mListView.setLayoutManager(new LinearLayoutManager(context));
	mListView.setAdapter(mAdapter);

	addView(mListView, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
}
 
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {

  if (parent.getPaddingLeft() != halfSpace) {
    parent.setPadding(halfSpace, halfSpace, halfSpace, halfSpace);
    parent.setClipToPadding(false);
  }

  outRect.top = halfSpace;
  outRect.bottom = halfSpace;
  outRect.left = halfSpace;
  outRect.right = halfSpace;
}
 
源代码7 项目: GeometricWeather   文件: GridMarginsDecoration.java
public GridMarginsDecoration(@Px float marginsVertical, @Px float marginsHorizontal, RecyclerView recyclerView) {
    this.marginsVertical = marginsVertical;
    this.marginsHorizontal = marginsHorizontal;
    recyclerView.setClipToPadding(false);
    recyclerView.setPadding(
            (int) marginsHorizontal / 2,
            (int) marginsVertical / 2,
            (int) marginsHorizontal / 2,
            (int) marginsVertical / 2
    );
}
 
源代码8 项目: Mysplash   文件: GridMarginsItemDecoration.java
private void setParentPadding(RecyclerView parent, @Px int padding, Rect insets) {
    parent.setPadding(
            padding + insets.left,
            padding,
            padding + insets.right,
            padding + insets.bottom
    );
    parent.setClipToPadding(false);
}
 
@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;
}
 
protected void initViews() {
    inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.ultimate_recycler_view_layout, this);
    mRecyclerView = (RecyclerView) view.findViewById(R.id.ultimate_list);
    mSwipeRefreshLayout = (VerticalSwipeRefreshLayout) view.findViewById(R.id.swipe_refresh_layout);
    setScrollbars();
    mSwipeRefreshLayout.setEnabled(false);

    if (mRecyclerView != null) {
        mRecyclerView.setClipToPadding(mClipToPadding);
        if (mPadding != -1.1f) {
            mRecyclerView.setPadding(mPadding, mPadding, mPadding, mPadding);
        } else {
            mRecyclerView.setPadding(mPaddingLeft, mPaddingTop, mPaddingRight, mPaddingBottom);
        }
    }

    defaultFloatingActionButton = (FloatingActionButton) view.findViewById(R.id.defaultFloatingActionButton);
    setDefaultScrollListener();

    /**
     * empty view setup
     */
    mEmpty = (ViewStub) view.findViewById(R.id.emptyview);
    if (mEmptyId != 0) {
        mEmpty.setLayoutResource(mEmptyId);
        mEmptyView = mEmpty.inflate();
        mEmpty.setVisibility(View.GONE);
    }

    /**
     * floating button setup
     */
    mFloatingButtonViewStub = (ViewStub) view.findViewById(R.id.floatingActionViewStub);
    mFloatingButtonViewStub.setLayoutResource(mFloatingButtonId);
}
 
@Override
protected void initViews() {
    //super.initViews();
    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.custom_recycler_view_layout, this);
    mRecyclerView = (RecyclerView) view.findViewById(R.id.ultimate_list);
    mSwipeRefreshLayout = null;

    if (mRecyclerView != null) {

        mRecyclerView.setClipToPadding(mClipToPadding);
        if (mPadding != -1.1f) {
            mRecyclerView.setPadding(mPadding, mPadding, mPadding, mPadding);
        } else {
            mRecyclerView.setPadding(mPaddingLeft, mPaddingTop, mPaddingRight, mPaddingBottom);
        }
    }

    defaultFloatingActionButton = (FloatingActionButton) view.findViewById(R.id.defaultFloatingActionButton);
    setDefaultScrollListener();

    mEmpty = (ViewStub) view.findViewById(R.id.emptyview);
    mFloatingButtonViewStub = (ViewStub) view.findViewById(R.id.floatingActionViewStub);

    mEmpty.setLayoutResource(mEmptyId);

    mFloatingButtonViewStub.setLayoutResource(mFloatingButtonId);

    if (mEmptyId != 0)
        mEmptyView = mEmpty.inflate();
    mEmpty.setVisibility(View.GONE);

    if (mFloatingButtonId != 0) {
        mFloatingButtonView = mFloatingButtonViewStub.inflate();
        mFloatingButtonView.setVisibility(View.VISIBLE);
    }

}
 
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {

    if (parent.getPaddingLeft() != halfSpace) {
        parent.setPadding(halfSpace, halfSpace, halfSpace, halfSpace);
        parent.setClipToPadding(false);
    }

    outRect.top = halfSpace;
    outRect.bottom = halfSpace;
    outRect.left = halfSpace;
    outRect.right = halfSpace;
}
 
源代码13 项目: litho   文件: RecyclerSpec.java
@OnMount
static void onMount(
    ComponentContext c,
    SectionsRecyclerView sectionsRecycler,
    @Prop Binder<RecyclerView> binder,
    @Prop(optional = true) boolean hasFixedSize,
    @Prop(optional = true) boolean clipToPadding,
    @Prop(optional = true) int leftPadding,
    @Prop(optional = true) int rightPadding,
    @Prop(optional = true) int topPadding,
    @Prop(optional = true) int bottomPadding,
    @Prop(optional = true, resType = ResType.COLOR) @Nullable
        Integer refreshProgressBarBackgroundColor,
    @Prop(optional = true, resType = ResType.COLOR) int refreshProgressBarColor,
    @Prop(optional = true) boolean clipChildren,
    @Prop(optional = true) boolean nestedScrollingEnabled,
    @Prop(optional = true) int scrollBarStyle,
    @Prop(optional = true) RecyclerView.ItemDecoration itemDecoration,
    @Prop(optional = true) boolean horizontalFadingEdgeEnabled,
    @Prop(optional = true) boolean verticalFadingEdgeEnabled,
    @Prop(optional = true, resType = ResType.DIMEN_SIZE) int fadingEdgeLength,
    @Prop(optional = true) @IdRes int recyclerViewId,
    @Prop(optional = true) int overScrollMode,
    @Prop(optional = true, isCommonProp = true) CharSequence contentDescription,
    @Prop(optional = true) ItemAnimator itemAnimator) {
  final RecyclerView recyclerView = sectionsRecycler.getRecyclerView();

  if (recyclerView == null) {
    throw new IllegalStateException(
        "RecyclerView not found, it should not be removed from SwipeRefreshLayout");
  }
  recyclerView.setContentDescription(contentDescription);
  recyclerView.setHasFixedSize(hasFixedSize);
  recyclerView.setClipToPadding(clipToPadding);
  sectionsRecycler.setClipToPadding(clipToPadding);
  ViewCompat.setPaddingRelative(
      recyclerView, leftPadding, topPadding, rightPadding, bottomPadding);
  recyclerView.setClipChildren(clipChildren);
  sectionsRecycler.setClipChildren(clipChildren);
  recyclerView.setNestedScrollingEnabled(nestedScrollingEnabled);
  sectionsRecycler.setNestedScrollingEnabled(nestedScrollingEnabled);
  recyclerView.setScrollBarStyle(scrollBarStyle);
  recyclerView.setHorizontalFadingEdgeEnabled(horizontalFadingEdgeEnabled);
  recyclerView.setVerticalFadingEdgeEnabled(verticalFadingEdgeEnabled);
  recyclerView.setFadingEdgeLength(fadingEdgeLength);
  // TODO (t14949498) determine if this is necessary
  recyclerView.setId(recyclerViewId);
  recyclerView.setOverScrollMode(overScrollMode);
  if (refreshProgressBarBackgroundColor != null) {
    sectionsRecycler.setProgressBackgroundColorSchemeColor(refreshProgressBarBackgroundColor);
  }
  sectionsRecycler.setColorSchemeColors(refreshProgressBarColor);

  if (itemDecoration != null) {
    recyclerView.addItemDecoration(itemDecoration);
  }

  sectionsRecycler.setItemAnimator(
      itemAnimator != RecyclerSpec.itemAnimator ? itemAnimator : new NoUpdateItemAnimator());

  binder.mount(recyclerView);
}
 
源代码14 项目: Mysplash   文件: FollowingItemDecoration.java
private void setParentPadding(RecyclerView parent, Rect insets) {
    parent.setPadding(insets.left, 0, insets.right, insets.bottom);
    parent.setClipToPadding(false);
}