admin管理员组

文章数量:1794759

成品app直播源码,RecyclerView实现自动滚动效果

成品app直播源码,RecyclerView实现自动滚动效果

成品app直播源码,RecyclerView实现自动滚动效果实现的相关代码

public class PzAutoPageScrollRecyclerView extends RecyclerView implements Runnable { private String TAG = "PzAutoPageScrollRecyclerView"; private int itemPageCount; private int itemAllCount; private int scrollTime; private int nowPage = 0; private HandlerThread mHandlerThread = new HandlerThread("PzAutoPageScrollRecyclerView"); private Handler mHandler; public PzAutoPageScrollRecyclerView(@NonNull Context context) { super(context); } public PzAutoPageScrollRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public PzAutoPageScrollRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public void init(int itemPageCount, int itemAllCount, int scrollTime) { this.itemPageCount = itemPageCount; this.itemAllCount = itemAllCount; this.scrollTime = scrollTime; mHandlerThread.start(); mHandler = new Handler(mHandlerThread.getLooper()); } public void starAuto(int scrollTime) { this.scrollTime = scrollTime; mHandler.postDelayed(this, scrollTime); } void stopAuto() { removeCallbacks(this); } void last() { if ((nowPage - 1) >= 0) { nowPage--; smoothScrollToPosition(nowPage * itemPageCount); } } void next() { if ((nowPage + 1) * itemPageCount < itemAllCount) { nowPage++; smoothScrollToPosition(nowPage * itemPageCount); } } @Override public void run() { if (itemPageCount < itemAllCount) { if ((nowPage + 1) * itemPageCount < itemAllCount) { nowPage++; smoothScrollToPosition(nowPage * itemPageCount); } else { nowPage = 1; smoothScrollToPosition(nowPage * itemPageCount); nowPage = 0; smoothScrollToPosition(nowPage * itemPageCount); } } else { mHandler.postDelayed(this, scrollTime); } } @Override public void onScrollStateChanged(int state) { super.onScrollStateChanged(state); if (getScrollState() == 0) { mHandler.postDelayed(this, scrollTime); } } public int getItemAllCount() { return itemAllCount; } public void setItemAllCount(int itemAllCount) { this.itemAllCount = itemAllCount; } public int getItemPageCount() { return itemPageCount; } public void setItemPageCount(int itemPageCount) { this.itemPageCount = itemPageCount; } public int getScrollTime() { return scrollTime; } public void setScrollTime(int scrollTime) { this.scrollTime = scrollTime; } }

以上就是成品app直播源码,RecyclerView实现自动滚动效果实现的相关代码, 更多内容欢迎关注之后的文章

本文标签: 成品源码效果appRecyclerView