![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android-RecyclerView系列
其子昱舟
挣扎出深渊前,得明白自己处于深渊中。
展开
-
Android-RecyclerView系列 Item居中效果
一、创建RecyclerView居中管理的Manager// 默认线性布局public class CenterLayoutManager extends LinearLayoutManager { public CenterLayoutManager(Context context) { super(context); } public CenterLayoutManager(Context context, int orientation, boolean原创 2022-04-20 14:22:52 · 6383 阅读 · 2 评论 -
Android-RecyclerView系列 滑动到指定位置
一、LayoutManager1、LayoutManager.scrollToPositionWithOffset ((LinearLayoutManager)mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(toPosition, 0);1、mRecyclerView : RecyclerView 控件2、toPosition : 指定移动位置方式二:RecyclerView1、RecyclerView.scroll原创 2022-04-19 22:10:32 · 11441 阅读 · 0 评论 -
Android-RecyclerView系列 获取可见与不可见的View(亲测有效)
一、获取可见视图的View (存在屏幕范围内的View) // recyclerView - RecyclerView 控件变量名 RecyclerView.LayoutManager manager = recyclerView.getLayoutManager(); // 方式一 position : 你需要获取的对应View的索引值即 index View itemView1 = manager.getChildAt(position); // 方式二 position :原创 2021-09-07 11:45:23 · 5882 阅读 · 0 评论 -
Android-RecyclerView系列 Item自动吸顶
一、Activitypublic class MainActivity extends AppCompatActivity { //加载数据项,自行替换 private List<Star> starList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConten原创 2021-06-15 11:38:38 · 378 阅读 · 0 评论 -
Android-RecyclerView系列 notifyItemChanged() - 实现单选选中状态更新
一、效果图二、使用public class MainActivity extends AppCompatActivity { List<String> mData = new ArrayList<>(); RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved原创 2021-06-15 11:13:04 · 820 阅读 · 0 评论 -
Android-RecyclerView系列 RecyclerView实现Item居中效果
一、实现的效果1、滑动的时候让每一个Item保持在中间2、点击某一个Item让其滚动到中间3、实际实现的效果如下:点击一次自动滚动居中,再次点击跳转到详情页二、实现的思路:1、每一次的滑动都让图片保持在中间,其实RecyclerView24.2.0版本以后,Google已经提供一个SnapHelper的辅助类,可以实现每一次滚动结束保持居中。具体用法就是:LinearSnapHelper类似SnapHelper的一个子类,SnapHelper的另一个子类叫PagerSnapHelper。两者的转载 2021-06-09 12:08:05 · 7376 阅读 · 3 评论 -
Android-RecyclerView系列 RecyclerView滚动指定位置到屏幕中间
一、思路自定义SmoothScroller继承LinearSmoothScroller继承LinearLayoutManager重写smoothScrollToPosition调用自定义SmoothScroller搞清楚calculateDtToFit方法中int viewStart, int viewEnd, int boxStart, int boxEnd的含义计算滚动位置部分LinearSmoothScroller的源码//LinearSmoothScroller源码中调用calcula原创 2021-06-09 12:03:22 · 1002 阅读 · 0 评论 -
Android-RecyclerView系列 RecyclerView滑动后数据显示错乱
一、问题分析由于RecyclerView执行的onBindViewHolder()方法,在getItemViewType()返回类型不同时会调用,所以如果想要每次都调用onBindViewHolder()刷新item数据,就要重写getItemViewType(),让其返回position,否则很容易产生数据错乱的现象。二、场景再现(1)准备一个模拟的数据对象public class DataModel{ public DataModel(String description) {原创 2021-06-09 11:01:32 · 5952 阅读 · 1 评论 -
Android-RecyclerView系列 RecyclerView控件Item点击事件全解
愿所有人都摆脱冷气,只是向上走,不必听自暴自弃者流的话(一)原理讲解:为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者。传递给外面的调用者:Activity / Fragment而非Adapter内部直接设置Item点击事件(二)逻辑代码实战代码构建位置:RecyclerView的Adapter中第一步:首先要定义一个对外(Activity/Fragment)的接口,并声明一.原创 2021-03-24 09:57:56 · 1359 阅读 · 1 评论