StaggeredGridLayoutManager
全部标签 我想实现这样的目标:但这是我尝试后得到的结果:我已经将项目布局的高度设置为WRAP_CONTENT,但结果仍然相同。我该怎么办? 最佳答案 对于那些正在寻找答案的人,只需使用StaggeredGridLayoutManager作为RecyclerView的布局管理器,如下所示:recycler.setLayoutManager(newStaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); 关于android-
我正在使用StaggeredGridLayout回收器View管理器mStaggerGridLayoutManager=newStaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);现在,我想删除列和行之间的默认间距。类似于此图片,但只有2列。 最佳答案 您必须玩转margin。不是填充。StaggeredGridLayoutManager为每个网格项设置默认边距“30dp”。可以这样改,classStaggeredListDecorationextends
我为我的RecyclerView制作了这个StaggeredGridLayout:代码如下:@OverridepublicvoidonBindViewHolder(RecyclerView.ViewHolderviewHolder,finalintposition){Photophoto=mPhotos.get(position);TextViewtitleView=((CellViewHolder)viewHolder).titleTextView;titleView.setText(photo.getTitle());TextViewsubTitleView=((CellViewH
我在RecyclerView中有一个StaggeredGrid,我正尝试在onBindViewHolder中动态设置图像高度。我认为StaggeredGrid应该自动处理所有这些,所以我设置了android:layout_width="match_parent和android:scaleType="fitStartImageView,但图像周围有很多空隙。由于StaggeredGrid不符合要求,我试图通过在onBindViewHolder中动态定义图像高度来帮助它。我提前有了图像的宽度和高度,但网格的单元格宽度不可用。我尝试了holder.cardView.getLayoutPara
当您清除适配器并调用notifyDataSetChanged()-StaggedGridLayoutManager管理器仍然有mCachedStart/EndSpan[]实例。因此,当您将新项目添加到适配器时-布局管理器会绘制具有偏移量的项目,这是一个大问题。EtsyStaggeredGridView有方法resetToTop()清除所有缓存内容并从头开始绘制所有内容。有一些解决方法:清除适配器后调用layoutManager.onDetachedFromWindow(recyclerView,null)设置新的布局管理器,它不好 最佳答案
您好,我从Fabric收到关于我的应用程序的错误报告->StaggeredGridLayoutManagercalculateCachedStart()方法上的IndexOutOfBoundsException我的应用程序中有很多StaggeredGridLayoutManager用法。有什么想法可以修复此错误或跟踪我的应用中导致此错误的错误吗?使用编译“com.android.support:recyclerview-v7:25.2.0”FatalException:java.lang.IndexOutOfBoundsException:Invalidindex0,sizeis0at
准确的说我想实现这个。我将recyclerview与GridLayoutManager一起使用。我还使用以下代码使第一个项目变大lLayout.setSpanSizeLookup(newGridLayoutManager.SpanSizeLookup(){@OverridepublicintgetSpanSize(inti){if(i==0)return2;elsereturn1;}});一切正常,除了一个:位置1的项目(即大图像的下一个项目)被垂直拉长以匹配大项目的高度。从第3行开始,所有图像都如图所示。我怎样才能摆脱这个?编辑:经过一些分析所以问题似乎是大图像在水平方向上有两个跨度
我正在使用RecyclerView和StaggeredGridLayoutManager。我希望这个StaggeredGridLayoutManager或任何一个LayoutManager占据空白区域(如果有的话)。例如,如果我设置spanCount=3即使我有2个项目或1个项目,它也必须占据所有屏幕宽度。在StaggeredGridLayoutManager中,我可以通过以下方式完全跨越单行:setFullSpan(true);但不能仅在一行中跨越2个项目。我的RecyclerView代码:StaggeredGridLayoutManagersglm=newStaggeredGrid
我试图在RecyclerView中显示三个(至少我遇到问题的情况)项目,其中StaggeredGridLayoutManager有两列。第一项跨越两行。下面是它的样子:现在,我将项目“项目2”移到顶部。这是我在适配器中调用的代码(这是我编写的一个示例,用于演示我在更复杂的项目中遇到的问题):privateintfindById(intid){for(inti=0;i之后,数组就好了:[Item2,Item1,Item3]。但是,观点还差得很远:如果我触摸RecyclerView(如果没有足够的项目可以滚动,足以触发过度滚动效果),第2项向左移动,我希望首先看到它(使用一个不错的动画):
我试图在RecyclerView中显示三个(至少我遇到问题的情况)项目,其中StaggeredGridLayoutManager有两列。第一项跨越两行。下面是它的样子:现在,我将项目“项目2”移到顶部。这是我在适配器中调用的代码(这是我编写的一个示例,用于演示我在更复杂的项目中遇到的问题):privateintfindById(intid){for(inti=0;i之后,数组就好了:[Item2,Item1,Item3]。但是,观点还差得很远:如果我触摸RecyclerView(如果没有足够的项目可以滚动,足以触发过度滚动效果),第2项向左移动,我希望首先看到它(使用一个不错的动画):