我正在使用recyclerview和GridLayoutManager.我还使用以下代码使第一个项目变大
lLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int i) {
if (i==0) return 2;
else return 1;
}
});
Run Code Online (Sandbox Code Playgroud)
一切正常,除了一个:位置1处的项目(即大图像中的下一个项目)垂直拉长以匹配大项目的高度.从第3行开始,所有图像都如图所示.
我怎么能摆脱这个?
编辑:经过一番分析
所以问题似乎是大图像水平地采用两个跨度但垂直单跨,因为我强迫我的ImageView是方形的,看起来它也采取了两行,实际上它是一行.由于这个原因,第二个图像看起来很长.
所以现在我的问题是,如何使网格项垂直两个跨度和两个水平跨度?
我使用recyclerview和grid layoutmanager我没有添加ItemDecoration
GridLayoutManager gridLayoutManager = new GridLayoutManager(TestResultActivity.this, 4, GridLayoutManager.HORIZONTAL, false);
gridLayoutManager.setAutoMeasureEnabled(true);
grid.setLayoutManager(gridLayoutManager);
Run Code Online (Sandbox Code Playgroud)
但是在两行之间,有一行,我不添加它.我想删除它.

我见过的解决方法LinearLayoutManager,但没有GridLayoutManager.有任何想法吗?
我想添加自定义分隔在RecyclerView与GridLayoutManager,但没有得到成功,我寻觅了很多,看着下面提及的答案,但它并没有帮助我
我想在每个项目之间放置黑线RecyclerView,如下所示.
我在每行之间都有水平线,但是也无法找到如何在列之间获得这些线.
chintan soni的答案完美无缺,但它仅在一个场景中创建问题,当我有5个视图时,它还显示其他3个项目的分隔符,如下所示:
我需要具有水平滚动行为的 RecyclerView Gridlayout Manager。它必须像垂直方向一样添加子视图(按列索引,例如(行 1,列 1)= 索引 0,(行 1,列 2)= 索引 1 等等)。
目前垂直方向不允许水平滚动并适合设备宽度的子视图。
编辑:
我在 RecyclerView GridLayoutManager 有 100 行和 150 列,需要水平滚动视图。我正在隐藏和显示行,这只能通过垂直方向实现。
为电视应用创建了双向可滚动gridlayout
从布局文件查看结构
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#021257"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rvThumbnail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#021257"
android:orientation="vertical"/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
所以我使用了gridlayoutmanager(方向垂直),spancount为49(24hrs*2)+1,用于显示列的图像.的第一行是显示时间轴分成半小时时隙,第一列是显示信道,每个信道将具有下不同时隙运行其自己的程序.现在我已经实现了两种方式滚动网格布局,现在我还有两件事要做.
1)当水平滚动时,通道列(第一列)也会滚动并因此被隐藏(它必须垂直滚动,因为可以有20多个通道).现在我需要使这个列静态wen水平滚动,其他列必须正常滚动
2)当垂直滚动时,时间轴行(第一行)也会滚动并因此被隐藏(它必须水平滚动,因为行必须显示24小时).现在我需要使这行静态wen垂直滚动,其他行必须正常滚动.
这有可能实现吗?我感谢您的帮助
我用作GridLayoutManager我的回收站视图的布局管理器。
mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), 2));
Run Code Online (Sandbox Code Playgroud)
但我想等分两列之间的宽度。我怎样才能做到这一点?
android android-layout gridlayoutmanager android-recyclerview
我有RecyclerView一个GridLayoutManager具有spanCount=2和Vertical方向.
我的项目正确显示如下图所示:

现在我需要添加一个动画,当点击其中一个项目时,假设数字为"3",该项目会增加其宽度并将项目旁边的项目(在此示例中,数字为"4")推到父项之外/屏幕.
在视觉上,它会是这样的:

要展开项目,我将可见性设置为VISIBLE项目内的视图并将其折叠,将可见性设置为GONE.
此刻,我能够显示和隐藏该视图,但它只占用项目的空间,它确实增加了推动它旁边项目的宽度.
所以我的问题是:
我见过许多类型的布局管理器,例如:
LineraLayoutManagerRecyclerView.LayoutManagerListViewLayoutManager实际LayoutManager是什么以及为什么使用它以及有哪些不同类型的LayoutManagers?做android系统中所有UI组件一样Button,TextView,EditText等都有自己的LayoutManagers?
android android-layout gridlayoutmanager linearlayoutmanager
我的 RecyclerView 有 2 列。我想要的是如果列表中的项目数为奇数,则显示中心的最后一个项目。像这样的东西
我尝试从这里实现所有 so 线程https://www.google.com/search?client=firefox-bd&q=show+last+item+in+recyclerview+center+horizo ntal+android
我使用下面的代码来设置布局管理器
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (mLangInfos.size() % 2 == 0)
return 1;
else {
if (position == mLangInfos.size()-1)
return 2;
else
return 1;
}
}
});
recyclerView.setLayoutManager(gridLayoutManager);
Run Code Online (Sandbox Code Playgroud)
但这的作用是它以全角显示最后一个项目,请参见下图。