android.support.v7.widget.RecyclerView#VERTICAL源码实例Demo

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

源代码1 项目: Album   文件: Api20ItemDivider.java
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
    RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
    if (layoutManager instanceof LinearLayoutManager) {
        int orientation = getOrientation(layoutManager);
        int position = parent.getChildLayoutPosition(view);
        int spanCount = getSpanCount(layoutManager);
        int childCount = layoutManager.getItemCount();

        if (orientation == RecyclerView.VERTICAL) {
            offsetVertical(outRect, position, spanCount, childCount);
        } else {
            offsetHorizontal(outRect, position, spanCount, childCount);
        }
    } else if (layoutManager instanceof StaggeredGridLayoutManager) {
        outRect.set(mWidth, mHeight, mWidth, mHeight); // |-|-
    }
}
 
源代码2 项目: Album   文件: Api20ItemDivider.java
private boolean isLastRaw(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) {
            return position + 1 == childCount;
        } else {
            int lastRawItemCount = childCount % columnCount;
            int rawCount = (childCount - lastRawItemCount) / columnCount + (lastRawItemCount > 0 ? 1 : 0);

            int rawPositionJudge = (position + 1) % columnCount;
            if (rawPositionJudge == 0) {
                int positionRaw = (position + 1) / columnCount;
                return rawCount == positionRaw;
            } else {
                int rawPosition = (position + 1 - rawPositionJudge) / columnCount + 1;
                return rawCount == rawPosition;
            }
        }
    } else {
        if (columnCount == 1) return true;
        return (position + 1) % columnCount == 0;
    }
}
 
源代码3 项目: Album   文件: Api20ItemDivider.java
private boolean isLastColumn(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) return true;
        return (position + 1) % columnCount == 0;
    } else {
        if (columnCount == 1) {
            return position + 1 == childCount;
        } else {
            int lastRawItemCount = childCount % columnCount;
            int rawCount = (childCount - lastRawItemCount) / columnCount + (lastRawItemCount > 0 ? 1 : 0);

            int rawPositionJudge = (position + 1) % columnCount;
            if (rawPositionJudge == 0) {
                int positionRaw = (position + 1) / columnCount;
                return rawCount == positionRaw;
            } else {
                int rawPosition = (position + 1 - rawPositionJudge) / columnCount + 1;
                return rawCount == rawPosition;
            }
        }
    }
}
 
源代码4 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent,
    @NonNull RecyclerView.State state) {
    RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
    if (layoutManager instanceof LinearLayoutManager) {
        int orientation = getOrientation(layoutManager);
        int position = parent.getChildLayoutPosition(view);
        int spanCount = getSpanCount(layoutManager);
        int childCount = layoutManager.getItemCount();

        if (orientation == RecyclerView.VERTICAL) {
            offsetVertical(outRect, position, spanCount, childCount);
        } else {
            offsetHorizontal(outRect, position, spanCount, childCount);
        }
    } else if (layoutManager instanceof StaggeredGridLayoutManager) {
        outRect.set(mWidth, mHeight, mWidth, mHeight); // |-|-
    }
}
 
源代码5 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
private boolean isLastRaw(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) {
            return position + 1 == childCount;
        } else {
            int lastRawItemCount = childCount % columnCount;
            int rawCount = (childCount - lastRawItemCount) / columnCount + (lastRawItemCount > 0 ? 1 : 0);

            int rawPositionJudge = (position + 1) % columnCount;
            if (rawPositionJudge == 0) {
                int positionRaw = (position + 1) / columnCount;
                return rawCount == positionRaw;
            } else {
                int rawPosition = (position + 1 - rawPositionJudge) / columnCount + 1;
                return rawCount == rawPosition;
            }
        }
    } else {
        if (columnCount == 1) return true;
        return (position + 1) % columnCount == 0;
    }
}
 
源代码6 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
private boolean isLastColumn(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) return true;
        return (position + 1) % columnCount == 0;
    } else {
        if (columnCount == 1) {
            return position + 1 == childCount;
        } else {
            int lastRawItemCount = childCount % columnCount;
            int rawCount = (childCount - lastRawItemCount) / columnCount + (lastRawItemCount > 0 ? 1 : 0);

            int rawPositionJudge = (position + 1) % columnCount;
            if (rawPositionJudge == 0) {
                int positionRaw = (position + 1) / columnCount;
                return rawCount == positionRaw;
            } else {
                int rawPosition = (position + 1 - rawPositionJudge) / columnCount + 1;
                return rawCount == rawPosition;
            }
        }
    }
}
 
源代码7 项目: MaterialDesignDemo   文件: MyDecorationOne.java
/**
 * 画线
 */
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
    super.onDraw(c, parent, state);
    if (orientation == RecyclerView.HORIZONTAL) {
        drawVertical(c, parent, state);
    } else if (orientation == RecyclerView.VERTICAL) {
        drawHorizontal(c, parent, state);
    }
}
 
源代码8 项目: MaterialDesignDemo   文件: MyDecorationOne.java
/**
 * 设置条目周边的偏移量
 */
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
    super.getItemOffsets(outRect, view, parent, state);
    if (orientation == RecyclerView.HORIZONTAL) {
        //画垂直线
        outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);
    } else if (orientation == RecyclerView.VERTICAL) {
        //画水平线
        outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
    }
}
 
源代码9 项目: Album   文件: Api20ItemDivider.java
private int getOrientation(RecyclerView.LayoutManager layoutManager) {
    if (layoutManager instanceof LinearLayoutManager) {
        return ((LinearLayoutManager) layoutManager).getOrientation();
    } else if (layoutManager instanceof StaggeredGridLayoutManager) {
        return ((StaggeredGridLayoutManager) layoutManager).getOrientation();
    }
    return RecyclerView.VERTICAL;
}
 
源代码10 项目: Album   文件: Api20ItemDivider.java
private boolean isFirstRaw(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        return position < columnCount;
    } else {
        if (columnCount == 1) return true;
        return position % columnCount == 0;
    }
}
 
源代码11 项目: Album   文件: Api20ItemDivider.java
private boolean isFirstColumn(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) return true;
        return position % columnCount == 0;
    } else {
        return position < columnCount;
    }
}
 
源代码12 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
private int getOrientation(RecyclerView.LayoutManager layoutManager) {
    if (layoutManager instanceof LinearLayoutManager) {
        return ((LinearLayoutManager)layoutManager).getOrientation();
    } else if (layoutManager instanceof StaggeredGridLayoutManager) {
        return ((StaggeredGridLayoutManager)layoutManager).getOrientation();
    }
    return RecyclerView.VERTICAL;
}
 
源代码13 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
private boolean isFirstRaw(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        return position < columnCount;
    } else {
        if (columnCount == 1) return true;
        return position % columnCount == 0;
    }
}
 
源代码14 项目: SwipeRecyclerView   文件: DefaultItemDecoration.java
private boolean isFirstColumn(int orientation, int position, int columnCount, int childCount) {
    if (orientation == RecyclerView.VERTICAL) {
        if (columnCount == 1) return true;
        return position % columnCount == 0;
    } else {
        return position < columnCount;
    }
}
 
源代码15 项目: PathLayoutManager   文件: PathLayoutManager.java
/**
 * 根据当前设置的滚动方向来获取对应的滚动偏移量
 */
private float getScrollOffset() {
    return mOrientation == RecyclerView.VERTICAL ? mOffsetY : mOffsetX;
}
 
源代码16 项目: PathLayoutManager   文件: PathLayoutManager.java
@Override
public boolean canScrollVertically() {
    return mOrientation == RecyclerView.VERTICAL;
}
 
源代码17 项目: android-mvvm   文件: BindingUtils.java
@BindingAdapter("layout_vertical")
public static void bindLayoutManager(@NonNull RecyclerView recyclerView, boolean vertical) {
    int orientation = vertical ? RecyclerView.VERTICAL : RecyclerView.HORIZONTAL;
    recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext(), orientation, false));
}
 
源代码18 项目: yahnac   文件: BookmarksFragment.java
private RecyclerView.LayoutManager createLayoutManager(Resources resources) {
    int spans = resources.getInteger(R.integer.feed_columns);
    return new StaggeredGridLayoutManager(spans, RecyclerView.VERTICAL);
}
 
源代码19 项目: yahnac   文件: StoryFragment.java
private RecyclerView.LayoutManager createLayoutManager(Resources resources) {
    int spans = resources.getInteger(R.integer.feed_columns);
    return new StaggeredGridLayoutManager(spans, RecyclerView.VERTICAL);
}
 
源代码20 项目: PathLayoutManager   文件: PathLayoutManager.java
/**
 * @param path       目标路径
 * @param itemOffset Item间距
 */
public PathLayoutManager(Path path, int itemOffset) {
    this(path, itemOffset, RecyclerView.VERTICAL);
}