首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android Note

    RecycleView之GridLayoutManager的ItemDecoration

    managerService = new GridLayoutManager(this, mColumn); mRv.addItemDecoration(lineService); RecyclerGridDecoration2(this, mColumn, lists1.size()); lineService.isAllScreen(true); GridLayoutManager managerService = new GridLayoutManager(this, mColumn); mRv1.addItemDecoration(lineService); managerService = new GridLayoutManager(this, mColumn); mRv2.addItemDecoration(lineService); params = (GridLayoutManager.LayoutParams) itemView.getLayoutParams(); params.width =

    3.5K70发布于 2018-07-02
  • 来自专栏韩曙亮的移动开发专栏

    【RecyclerView】 十四、GridLayoutManager 网格布局管理器 ( GridLayoutManager.SpanSizeLookup 指定 item 元素占用网格个数 )

    文章目录 一、修改单条数据 二、完整代码示例 三、总体运行效果 四、RecyclerView 相关资料 一、修改单条数据 ---- GridLayoutManager.SpanSizeLookup 的主要作用是设置每个 item 元素占据网格布局的格子数量 ; 默认每个 item 元素占 1 个格子 ; GridLayoutManager.SpanSizeLookup 使用流程 : ① 自定义类 : 自定义 GridLayoutManager.SpanSizeLookup 子类对象设置给 GridLayoutManager ; ④ 刷新 UI : 调用 RecyclerView.Adapter 的 notifyDataSetChanged 方法即可刷新 UI ; 设置效果一 创建并设置布局管理器 //创建布局管理器 layoutManager = new GridLayoutManager( this, 官方文档 : https://developer.android.google.cn/reference/androidx/recyclerview/widget/GridLayoutManager

    2.4K00编辑于 2023-03-28
  • 来自专栏韩曙亮的移动开发专栏

    【RecyclerView】 四、RecyclerView 布局 ( 网格局管理器 GridLayoutManager )

    文章目录 一、网格局管理器 GridLayoutManager 二、网格局管理器默认设置 三、网格局管理器水平方向设置 四、完整代码示例 五、RecyclerView 相关资料 本篇博客主要讨论设置不同的布局管理器 ---- 使用代码创建 线性布局管理器 GridLayoutManager , 推荐使用 GridLayoutManager (Context context, int spanCount, @RecyclerView.Orientation 创建并设置布局管理器 //创建布局管理器 GridLayoutManager layoutManager = new GridLayoutManager( 创建并设置布局管理器 //创建布局管理器 /*GridLayoutManager layoutManager = new GridLayoutManager( 创建并设置布局管理器 //创建布局管理器 GridLayoutManager layoutManager = new GridLayoutManager(

    3.3K00编辑于 2023-03-28
  • 来自专栏前端文章小tips

    解决paging3配合GridLayoutManager时footer不能占一行的问题

    使用paging3开发时,官方demo只有包含LinearLayout的部分代码, 当我们需要配合GridLayoutManager(spanCount=2)时, 发现footer不能适配占满一行, n0QoE.png 我们知道,GridLayoutManager可以通过设置spanSizeLookup来达到某些Item填充多个spanSize的目的 如下: spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { override fun getSpanSize(position: Int): Int { ( requireContext(), 2, GridLayoutManager.VERTICAL spanCount else 1 } } } 通过以上设置,即可完成paging3与GridLayoutManager

    87540编辑于 2021-12-10
  • 来自专栏伟大程序猿的诞生

    Android TV开发总结【RecycleView】

    ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; GridLayoutManager.SpanSizeLookup spanSizeLookUp = gridLayoutManager.getSpanSizeLookup();

    3.2K20发布于 2019-01-21
  • 来自专栏Sorrower的专栏

    界面无小事(二): 让RecyclerView展示更多不同视图

    前言 之前设置布局的时候用了最简单的LinearLayoutManager, 而且是单一布局, 这次来感受下GridLayoutManager和瀑布流以及多布局. ---- GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2); rvTest.setLayoutManager(gridLayoutManager); final = null) { gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override 不同布局加载 ---- 来看看横向滚动 一行代码足矣: gridLayoutManager.setOrientation(GridLayoutManager.HORIZONTAL); ? 记得注释掉GridLayoutManager设置宽度那部分.

    1.2K20发布于 2018-09-04
  • 来自专栏CnPengDev

    Android:流式布局实现总结

    (5)、GridLayoutManager 通常情况下,GridLayoutManager用来实现固定列数/行数的网格布局,但是,通过通过调整span的数量就可以控制单个条目占几列/几行。 = GridLayoutManager(mActviity, screenWidth) val textPaint = Paint() //CnPeng 2018/12/10 9:22 AM 配置字体大小 = object : GridLayoutManager.SpanSizeLookup() {     override fun getSpanSize(position: Int): Int {         val spanCount = gridLayoutManager.spanCount;         //条目的padding和margin值。 = GridLayoutManager(mActviity, screenWidth)        val textPaint = Paint()        //CnPeng 2018/12

    7.2K20发布于 2020-08-11
  • 来自专栏BennuCTech

    实现一个带有header和footer功能的RecyclerView

    GridLayoutManager 经过上面几步,我们已经构建了一个带有header和footer的adapter。 但是还有一个问题,因为RecyclerView有三种LayoutManager:LinearLayoutManager、GridLayoutManager、StaggeredLayoutManager。 由于GridLayoutManager和StaggeredLayoutManager是多列的,每个header和footer都需要独占一行,所以我们需要对这两种LayoutManager分别作一些处理。 (final LayoutManager layout) { if(layout instanceof GridLayoutManager){ final GridLayoutManager.SpanSizeLookup old = ((GridLayoutManager) layout).getSpanSizeLookup(); ((GridLayoutManager) layout).setSpanSizeLookup

    2.4K20编辑于 2021-12-17
  • 来自专栏计算机工具

    recycleview 增加自定义头部和尾部

    RecyclerView.LayoutManager layoutManager = mRecyclerView.getLayoutManager(); if (layoutManager instanceof GridLayoutManager ) { final GridLayoutManager.SpanSizeLookup originalSpanSizeLookup = ( (GridLayoutManager) layoutManager).getSpanSizeLookup(); ((GridLayoutManager) layoutManager ).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override ((GridLayoutManager) layoutManager).getSpanCount() : 1; }

    28910编辑于 2024-12-16
  • 来自专栏技术小黑屋

    控制RecyclerView Item的宽度

    方法很简单,主要使用了GridLayoutManager的setSpanSizeLookup方法 1 2 3 4 5 6 7 8 9 10 11 mLayoutManager = new GridLayoutManager (this, 3); mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override mAdapter.getItemCount() - 1) { return 2; } else { return 1; } } }); GridLayoutManager

    3.6K10发布于 2018-09-05
  • 来自专栏Android机器圈

    RecyclerView实现混合布局

    final GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2); gridLayoutManager.setSpanSizeLookup (new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams(); //拿到grid管理器所设置的总列数 = gridLayoutManager.getSpanCount()) { if (spanIndex == 1) { outRect.left 在activity中加载recyclerview时,要加入布局样式,比如说,普通的LinearLayoutManager,或者GridLayoutManager,StaggeredGridLayoutManager

    2.6K20发布于 2019-08-21
  • 来自专栏胡飞洋的Android进阶

    曝光埋点方案:recyclerView中的item曝光逻辑实现

    ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) manager; range = findRangeGrid(gridLayoutManager); orientation = gridLayoutManager.getOrientation ) { GridLayoutManager gridLayoutManager = (GridLayoutManager) manager; range = findRangeGrid(gridLayoutManager); orientation = gridLayoutManager.getOrientation manager.findLastVisibleItemPosition(); return range; } private int[] findRangeGrid(GridLayoutManager

    6.4K10发布于 2020-07-23
  • 来自专栏来自GitOPEN的技术文摘

    自定义RecyclerView监听滑动到底部Bottom

    this.computeVerticalScrollRange(); } } 使用方法 SuperRecycler recycler = (SuperRecycler) mFraView.findViewById(R.id.recycler); GridLayoutManager manager = new GridLayoutManager(getActivity(), 2, GridLayoutManager.VERTICAL, false); recycler.setLayoutManager

    2.3K40发布于 2019-01-29
  • 来自专栏andy的小窝

    自定义header的RecyclerView

    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager(); if(manager instanceof GridLayoutManager ) { final GridLayoutManager gridManager = ((GridLayoutManager) manager); gridManager.setSpanSizeLookup (new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize

    76530发布于 2020-02-12
  • 来自专栏微卡智享

    Android使用BaseSectionQuickAdapter动态生成不规则宫格

    sadapter = SectionQuickAdapter(R.layout.rcl_body, R.layout.rcl_head, devices) val gridLayoutManager = GridLayoutManager(this, colspan) recyclerview.layoutManager = gridLayoutManager recyclerview.adapter = sadapter gridLayoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { return drugs.colspansize } } } } 最后创建GridLayoutManager

    1.9K20发布于 2021-09-17
  • 来自专栏AndroidTv

    关于RecyclerView你知道的不知道的都在这了(上)前言目录正文

    1.2 GridLayoutManager 网格样式的布局管理器,同样,先来看看它的构造函数: //注意看,GridLayoutManager 是继承的 LinearLayoutManger 的 public (gridLayoutManager); ? 两行.png 4 列 GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 4); mRecyclerView.setLayoutManager (gridLayoutManager); ? 示例: GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3, LinearLayoutManager.HORIZONTAL

    3.6K60发布于 2018-06-13
  • 来自专栏BennuCTech

    为RecyclerView添加下拉刷新功能

    LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); } if(layoutManager instanceof GridLayoutManager ){ firstPosition = ((GridLayoutManager) layoutManager).findFirstVisibleItemPosition(); LinearLayoutManager) layoutManager).findLastVisibleItemPosition(); } if(layoutManager instanceof GridLayoutManager ){ lastPosition = ((GridLayoutManager) layoutManager).findLastVisibleItemPosition();

    1.2K50编辑于 2021-12-29
  • 来自专栏后端技术

    recyclerView实现分页加载和元素动态宽高

    自己实现 动态列数: https://www.jianshu.com/p/178ca4c439b2 总结来讲,就是在onMeasure里根据元素的宽来动态改变GridLayoutManager的列数。 GridLayoutManager,item不居中问题 https://www.aliyun.com/jiaocheng/1366515.html 如果一行内元素并不在自己的格子内居中, ? https://blog.csdn.net/hacker_crazy/article/details/78478890(同理) 同上所说,item的根布局宽度应设置为"match_parent",这样就是由GridLayoutManager

    1.7K30发布于 2019-05-25
  • 来自专栏老欧说安卓

    Android开发笔记(一百二十二)循环器视图RecyclerView

    目前有三种,分别是:线性布局管理器LinearLayoutManager、网格布局管理器GridLayoutManager、瀑布流网格布局管理器StaggeredGridLayoutManager。 网格布局管理器GridLayoutManager类似于GridLayout,GridLayout是Android4.0新增的布局类型。 ,还有下一节要介绍的SwipeRefreshLayout(详细说明参见《Android开发笔记(一百二十三)下拉刷新布局》),这些新布局着实增加了广大码农的学习时间,所以还是能省则省,从展示效果来看,GridLayoutManager 下面是GridLayoutManager的常用方法: 构造函数 : 可指定网格的列数。 setSpanCount : 单独设置网格的列数。 默认一项占一列,如果想某项占多列,则可在此设置自定义的占位规则,即由抽象类GridLayoutManager.SpanSizeLookup派生出具体的实现类。

    3.6K20发布于 2019-01-18
  • 来自专栏Android&Java技术

    Attempt to write to field 'int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a

    widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029) at android.support.v7.widget.GridLayoutManager.layoutChunk (GridLayoutManager.java:541) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578) at android.support.v7.widget.GridLayoutManager.onLayoutChildren (GridLayoutManager.java:170) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java

    1.1K30发布于 2020-02-27
领券