public class PathLayoutManager
extends RecyclerView.LayoutManager
| Modifier and Type | Class and Description |
|---|---|
static interface |
PathLayoutManager.OnItemSelectedListener |
| Modifier and Type | Field and Description |
|---|---|
static int |
SCROLL_MODE_LOOP
无限循环模式
|
static int |
SCROLL_MODE_NORMAL
普通模式
|
static int |
SCROLL_MODE_OVERFLOW
溢出模式
|
| Constructor and Description |
|---|
PathLayoutManager(android.graphics.Path path,
int itemOffset) |
PathLayoutManager(android.graphics.Path path,
int itemOffset,
int orientation) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canScrollHorizontally() |
boolean |
canScrollVertically() |
android.graphics.PointF |
computeScrollVectorForPosition(int targetPosition) |
RecyclerView.LayoutParams |
generateDefaultLayoutParams() |
boolean |
isAutoMeasureEnabled() |
void |
onDetachedFromWindow(RecyclerView view,
RecyclerView.Recycler recycler) |
void |
onItemsAdded(RecyclerView recyclerView,
int positionStart,
int itemCount) |
void |
onItemsMoved(RecyclerView recyclerView,
int from,
int to,
int itemCount) |
void |
onItemsRemoved(RecyclerView recyclerView,
int positionStart,
int itemCount) |
void |
onItemsUpdated(RecyclerView recyclerView,
int positionStart,
int itemCount) |
void |
onItemsUpdated(RecyclerView recyclerView,
int positionStart,
int itemCount,
java.lang.Object payload) |
void |
onLayoutChildren(RecyclerView.Recycler recycler,
RecyclerView.State state) |
void |
onMeasure(RecyclerView.Recycler recycler,
RecyclerView.State state,
int widthSpec,
int heightSpec) |
void |
onScrollStateChanged(int state) |
int |
scrollHorizontallyBy(int dx,
RecyclerView.Recycler recycler,
RecyclerView.State state) |
void |
scrollToPosition(int position) |
int |
scrollVerticallyBy(int dy,
RecyclerView.Recycler recycler,
RecyclerView.State state) |
void |
setAutoSelect(boolean isAutoSelect)
设置是否开启自动选中效果
|
void |
setAutoSelectFraction(float position)
设置自动选中的目标落点
|
void |
setCacheCount(int count)
设置缓存个数
|
void |
setFixingAnimationDuration(long duration)
设置自动选中后的选中动画时长
|
void |
setFlingEnable(boolean enable)
设置惯性滚动是否开启
|
void |
setItemDirectionFixed(boolean isFixed)
设置Item是否保持垂直
|
void |
setItemOffset(int itemOffset)
设置Item间距
|
void |
setItemScaleRatio(float... ratios)
设置平滑缩放比例
|
void |
setOnItemSelectedListener(PathLayoutManager.OnItemSelectedListener listener)
设置Item选中后的监听器
|
void |
setOrientation(int orientation)
设置滑动方向
|
void |
setScrollMode(int mode)
设置滚动模式
|
void |
smoothScrollToPosition(int position)
平滑滚动到某个位置
|
void |
smoothScrollToPosition(RecyclerView recyclerView,
RecyclerView.State state,
int position) |
void |
updatePath(android.graphics.Path path)
更新Path
|
public static final int SCROLL_MODE_NORMAL
public static final int SCROLL_MODE_OVERFLOW
public static final int SCROLL_MODE_LOOP
public PathLayoutManager(android.graphics.Path path,
int itemOffset)
path - 目标路径itemOffset - Item间距public PathLayoutManager(android.graphics.Path path,
int itemOffset,
int orientation)
path - 目标路径itemOffset - Item间距orientation - 滑动方向public void onLayoutChildren(RecyclerView.Recycler recycler,
RecyclerView.State state)
public void onMeasure(RecyclerView.Recycler recycler,
RecyclerView.State state,
int widthSpec,
int heightSpec)
public boolean isAutoMeasureEnabled()
public int scrollHorizontallyBy(int dx,
RecyclerView.Recycler recycler,
RecyclerView.State state)
public int scrollVerticallyBy(int dy,
RecyclerView.Recycler recycler,
RecyclerView.State state)
public boolean canScrollVertically()
public boolean canScrollHorizontally()
public void updatePath(android.graphics.Path path)
public void setItemOffset(int itemOffset)
itemOffset - Item间距public void setItemDirectionFixed(boolean isFixed)
public void setScrollMode(int mode)
mode - SCROLL_MODE_NORMAL
SCROLL_MODE_OVERFLOW
SCROLL_MODE_LOOPpublic void setOrientation(int orientation)
orientation - RecyclerView.HORIZONTAL
RecyclerView.VERTICALpublic void setCacheCount(int count)
public void onScrollStateChanged(int state)
public void scrollToPosition(int position)
public void smoothScrollToPosition(RecyclerView recyclerView,
RecyclerView.State state,
int position)
public void smoothScrollToPosition(int position)
position - 目标Item索引public void setAutoSelectFraction(float position)
position - 目标落点 (0~1)public void setAutoSelect(boolean isAutoSelect)
public void setItemScaleRatio(float... ratios)
ratios - 缩放比例, 数组长度必须是双数,
偶数索引表示要缩放的比例,
奇数索引表示在路径上的位置(0~1)
奇数索引必须要递增,即越往后的数值应越大
例如: setItemScaleRatio(0.8, 0.5) 即表示在路径的50%处把Item缩放到原来的80%
setItemScaleRatio(0, 0, 1, 0.5, 0, 1) 即表示在路径的起点和终点处,皆把Item缩放至原来的0%,
而在50%处把Item恢复原样public void setFixingAnimationDuration(long duration)
duration - 动画时长public void setFlingEnable(boolean enable)
public void setOnItemSelectedListener(PathLayoutManager.OnItemSelectedListener listener)
public void onDetachedFromWindow(RecyclerView view,
RecyclerView.Recycler recycler)
public RecyclerView.LayoutParams generateDefaultLayoutParams()
public android.graphics.PointF computeScrollVectorForPosition(int targetPosition)
public void onItemsAdded(RecyclerView recyclerView,
int positionStart,
int itemCount)
public void onItemsRemoved(RecyclerView recyclerView,
int positionStart,
int itemCount)
public void onItemsUpdated(RecyclerView recyclerView,
int positionStart,
int itemCount)
public void onItemsUpdated(RecyclerView recyclerView,
int positionStart,
int itemCount,
java.lang.Object payload)
public void onItemsMoved(RecyclerView recyclerView,
int from,
int to,
int itemCount)