将多个水平 RecyclerView 一起滚动

2023-11-24

我正在创建一个类似于 EPG 的视图,其中我有多个水平视图RecyclerViews(如电视节目)封装在 LinearLayout 内。当我滚动 RecyclerView 之一时,我希望其余视图一起滚动。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    layoutContent.setWeightSum(epg.getChannels().size());

    //prepare recycler views and add into layoutContent based on epg channels
    for(EPG.Channel ch : epg.getChannels()){
        AppLog.error(TAG, "Creating RecyclerView for: " + ch.getDisplayName());

        //create new recycler view
        final RecyclerView rv = new RecyclerView(layoutContent.getContext());
        lstRecyclerViews.add(rv);

        //set layout manager
        rv.setLayoutManager(new LinearLayoutManager(layoutContent.getContext(), LinearLayoutManager.HORIZONTAL, false));

        //create adapter
        rv.setAdapter(new MyAdapter(ch.getPrograms()));
        rv.setItemAnimator(new DefaultItemAnimator());

        //add into parent layout
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 0);
        lp.weight = 1;
        layoutContent.addView(rv, lp);
    }
}

我尝试在我的视图中添加滚动侦听器,但我很困惑RecyclerView.OnScrollListener's 滚动时方法,因为我不知道如何滚动其他视图。

任何帮助/建议都会有帮助。

TV Channels' view


水平滚动视图

{

线性布局

{

水平回收器视图的垂直列表, 覆盖水平回收器视图的 LayoutManager
canScroolhorizo​​ntally() 方法返回 false ,以便它们 所有内容都根据祖级 ScrollView 一起滚动。

}

我们的主要重点是水平滚动水平回收器视图的垂直列表, 首先我试图将它们全部保持在水平滚动视图上,但这是 Android 系统明确拒绝的, 所以我保留了一种线性布局(在我的例子中是垂直方向)作为中介。

因此,epg 网格现在可以垂直滚动(因为它们位于一个垂直回收器视图内),也可以水平滚动(因为水平滚动视图)。 而且我们不应该允许水平列表独立滚动,所以我扩展了布局管理器并禁止水平滚动,现在它们只在祖父滚动下滚动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多个水平 RecyclerView 一起滚动 的相关文章

随机推荐

  • Python 将单个语句包装在 try except 块中的简洁方法

    我目前正在使用 com Excel 进行一些 Python 自动化 它功能齐全 并且可以满足我的要求 但我发现了一些令人惊讶的事情 有时 我使用的某些 Excel 命令会无缘无故地失败并出现异常 其他时候 它们会起作用 在我正在做的 VB
  • ElasticSearch 在单词内使用连字符进行搜索

    我想寻求帮助 我想在标题和内容中搜索单词 这是结构 body gt array mappings gt array myindex gt array source gt array enabled gt true properties gt
  • “列表理解”和类似的意思是什么?它是如何工作的以及我该如何使用它?

    我有以下代码 x 2 for x in range 10 当我在 Python shell 中运行它时 它返回 0 1 4 9 16 25 36 49 64 81 我搜索过 似乎这被称为列表理解类似地 似乎还有 set dict 理解和生成
  • 如何在 Payara 5 中使用 Jackson 2?

    我正在使用 Jackson 2 和 Payara 4 我想使用杰克逊 2 位于 Payara 5 使用 JAX RS 我还想避免更改注释等等 在 Payara 5 中 默认的 Jsonb 提供者是 Yasson 有什么想法可以禁用它并使用杰
  • Jmeter命令行在聚合报告中“保存表数据”

    我想使用命令行保存聚合报告生成的表数据 以便我可以自动化该过程 然而 我从 2004 年左右使用 2 2 2 3 jmeter 的旧帖子中读到这是无法完成的 但由于现在是 2014 年 我们使用的是 jmeter 2 11 我想知道我们是否
  • 在中间件上下文中获取 starlette 请求正文

    我有这样的中间件 class RequestContext BaseHTTPMiddleware async def dispatch self request Request call next RequestResponseEndpoi
  • 独立于语言的 JSP 自定义模式的 JSTL formatNumber

    我正在使用 JSP 开发一个小应用程序 我需要将欧洲应用程序转换为国际应用程序 与美国格式兼容 等 我已经为标签创建了模式选项formatNumber here但这始终取决于您的应用程序的区域设置 示例1 我有一个区域设置en US格式编号
  • Android:为什么我们需要使用 R2 而不是 R 和 butterknife?

    我一直在使用牛油刀几个月来 我刚刚在其文档中注意到它说 现在确保在所有黄油刀中使用 R2 而不是 R 注释 这是为什么 我一直在使用 R 一切都很完美 仅在构建 Android 库项目时才需要使用 R2 https github com J
  • 稳健地裁剪照片上的旋转边界框

    我正在尝试稳健地提取轮廓的旋转边界框 我想拍摄一张图像 找到最大的轮廓 获取其旋转的边界框 旋转图像以使边界框垂直 然后裁剪到大小 为了进行演示 下面是链接在以下代码中的原始图像 我想最终将那只鞋子旋转到垂直并裁剪到尺寸 以下代码来自这个答
  • 使用 Intent.ACTION_PICK 打开图像

    我正在尝试使用intent ACTION PICK 打开图像 但是当我使用startActivityForResoult 启动活动时 我的应用程序崩溃了 有什么线索表明我做错了什么吗 public void button load imag
  • 使用 PHP 删除 .php 扩展名

    我在这里需要一些帮助 我正在使用它来修复我的 URL 但我不知道如何删除 php 扩展名 URL 现在看起来像这样 http mydomain com page php foo 123 bar 456 function decode URL
  • Javascript 在视口外的点获取元素

    是否有类似于 document elementFromPoint x y 的东西适用于视口之外的元素 根据 document elementFromPoint 的 MDN 文档 https developer mozilla org en
  • 无需本地服务器安装的 SharePoint 2010 开发

    我想在不安装本地 SharePoint 的情况下开发 SharePoint 2010 Web 部件 我的意思是我不想安装 SharePoint 服务器 因为我不需要它而且它太大了 我发现了一些关于此的问题 但我仍然无法让它工作 我找到了一篇
  • 如何通过 cloudformation 或 sam 使用 api 网关阶段?

    我在用AWS SAM部署我的 lambda 和 api 网关 下面是我的模板 yaml 文件 AWSTemplateFormatVersion 2010 09 09 Transform AWS Serverless 2016 10 31 D
  • Slim 4 中的路由中间件不会停止调用路由中的可调用对象

    我在 Slim4 中的授权中间件上遇到了困难 这是我的代码 app AppFactory create app gt add new Authentication app gt group providers function RouteC
  • 使用导航图范围注入视图模型:NavController 在 onCreate() 之前不可用

    我在应用程序中使用导航组件 并在同一图中的多个片段之间使用共享 ViewModel 现在我想用这个图形范围实例化 ViewModelthis 如你所知 在碎片中我们应该注入对象 ViewModel etc onAttach 但是当我想这样做
  • 解析器错误恢复可以由语法自动引导吗?

    我正在编写一个 LALR 解析器生成器作为一个宠物项目 我使用紫龙书来帮助我进行设计 我从中了解到解析器中有四种错误恢复方法 恐慌模式 开始转储输入符号 直到找到编译器设计者预先选择的符号 短语级恢复 将输入字符串修改为允许当前产生减少的内
  • C# Picturebox透明背景似乎不起作用

    对于我的一个项目 我需要以透明背景显示图像 我制作了一些具有透明背景的 png 图像 为了检查这一点 我在 Photoshop 中打开了它们 现在我有一个扩展 PictureBox 的类 class Foo PictureBox publi
  • Pygame显示位置

    创建 pygame 窗口后我需要窗口位置 window pygame display set mode width height 0 32 pygame init 默认情况下 窗口从 0 0 开始 但如果用户更改窗口位置 我还需要 x y
  • 将多个水平 RecyclerView 一起滚动

    我正在创建一个类似于 EPG 的视图 其中我有多个水平视图RecyclerViews 如电视节目 封装在 LinearLayout 内 当我滚动 RecyclerView 之一时 我希望其余视图一起滚动 Override public vo