如何在 LinearLayoutManager - RecyclerView 中重叠项目(如堆叠卡片)

2024-01-11


是否可以重叠 RecyclerView 中的项目?
我正在尝试使用 LinearLayoutManager 。
我的要求与 LinearLayoutManager 中的相同,我只需要从上到下重叠内部的项目。 (如堆叠卡片)

我见过一些变体 https://stackoverflow.com/questions/10211835/android-vertical-listview-with-overlaped-rows通过使用ListView。所以,我想这会 在 RecyclerView 中也是可能的。但是,经过一段时间的探索, 我觉得实施定制需要相当长的时间 布局管理器并对这一点有相当程度的理解。(我看了 进入戴夫的帖子构建自定义布局管理器 http://wiresareobsolete.com/2014/09/building-a-recyclerview-layoutmanager-part-1/ )

所以,现在我想我可能只需要根据我的要求使用 ListView 变体,而不是处理如此复杂的自定义布局管理器。

但是,我只需要让里面的项目重叠即可。我觉得可能还有一些我还没有意识到的其他方向。请告诉我是否有除了上面的 ListView 变体 and 自定义布局管理器。

我还将在下面发布我的发现。


我假设您正在寻找部分重叠(例如,一副纸牌稍微呈扇形展开)。如果是这样,那么使用 RecyclerView 和自定义 ItemDecoration 看起来相当简单。下面是一个简单的示例,其中项目垂直重叠 90 像素:

public class OverlapDecoration extends RecyclerView.ItemDecoration {

  private final static int vertOverlap = -90;

  @Override
  public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {

    outRect.set(0, vertOverlap, 0, 0);

  }
}

此示例对偏移量进行了硬编码,但如果您的列表项的高度有所不同,您将需要为此进行测量并添加逻辑。

在设置布局管理器之前将此装饰添加到 RV。我已经用 StaggeredGrid 尝试过,但它也应该与 LinearLayout 和 Grid LM 一起使用。

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

如何在 LinearLayoutManager - RecyclerView 中重叠项目(如堆叠卡片) 的相关文章

随机推荐

  • SQL Azure 数据同步生产准备好了吗?

    我想开始使用 SQL Azure 和 SQL Azure 数据同步 适用于本地 SQL 2008 和 Azure Azure 门户仍然将数据同步标记为 预览 那么它是否已准备好投入生产 如果不是的话什么时候会呢 任何标记为 预览中 的内容都
  • 使用 jQuery 动态检查和取消检查复选框:bug?

    我制作了一个脚本来控制主从复选框 自动选中和取消选中 这是我的JS document ready function myCheck click function myCheck attr checked false myCheck clic
  • Qt - 信号槽中的参数

    我有一个 QPushButton QDateEdit 和另一个自定义对象 我想将按钮连接到日期编辑对象 当我单击按钮时 日期编辑对象会将其设置日期更改为自定义对象上定义的日期 有点像这样 connect pushbutton SIGNAL
  • 使用 LOGON32_LOGON_NEW_CREDENTIALS 的 LogonUser 适用于远程不受信任的域计算机

    因此 两台机器之间不存在信任 它们位于不同的域中 我已使用登录类型使用 LogonUser API 成功连接到远程计算机 LOGON32 LOGON NEW CREDENTIALS 我能够使用 UNC 共享检索目录的内容 并创建文件流来 下
  • App Store Connect 不显示所有销售 - 为什么?

    为了能够更好地估计我们应用程序的收入 我们实现了一个数据库功能 该功能可靠地 我们在沙盒模式下测试了它 为订阅者在订阅后增加了一个订阅计数器 仅当应用内购买成功后 即当我们收到 StoreKit 的反馈以启用高级功能时 才会触发此功能 现在
  • 修复使用 uploadify 时 django csrf 错误

    我在 django 管理中使用 uploadify 但收到 403 错误 当我使用 csrf exempt错误消失了 但是这是非常危险的 有没有更好的方法通过使用 csrf exempt 装饰器来解决这个问题而不损害管理页面 提前致谢 听起
  • 是否可以使用“firebase-admin”包调用 firebase 函数?

    我有带有基于服务帐户的访问权限的节点应用程序 所以我使用firebase admin 正如我之前所看到的 firebase admin大部分重复firebase包 除了身份验证部分 签名和其他一些部分 但现在我想调用函数 但找不到任何等效项
  • Spring 服务层的 JUnit 测试用例

    我正在尝试配置 JUnit 并为 Spring 3 2 MVC 应用程序的服务层编写测试用例 我找不到太多关于如何从头开始配置 JUnit 并使其适用于 Spring 服务层的信息 这是我的问题 我真的不知道要使用什么版本的 junit 所
  • 如何在构建时在maven中设置项目版本?

    我正在尝试在我们的项目中实现语义版本控制 我测试了 Maven semver 插件 但这对我没有帮助 所以请不要问我为什么 我最终使用了 Maven Groovy 它的工作原理就像一个魅力 但是 当我安装或部署 Maven 项目时 存储库中
  • PHP/GD - 透明背景

    我想结合 GD 在 PHP 中执行以下操作 不幸的是 ImageMagick 不是一个选项 但这似乎是一个常见问题 因此has作为一个解决方案 我似乎找不到它 我想创建一个具有透明背景的PNG 然后我想在上面画一个矩形 在上面复制一个图像
  • 了解 的上限和下限 ?在 Java 泛型中

    我真的很难理解通配符参数 对此我有几个问题 作为类型参数只能在方法中使用 例如 printAll MyList
  • 如何递归读取所有记录并按级别深度SQL显示

    有没有办法在类似的表中递归读取记录并按深度级别排序 table id int parent int value string 1 1 some 2 1 some2 3 2 some3 4 2 some4 5 3 some5 6 4 some
  • C/C++:头文件中的静态函数,是什么意思?

    我知道在源文件中声明静态函数意味着什么 我正在阅读一些代码 发现头文件中的静态函数可以在其他文件中调用 函数是在头文件中定义的吗 这样实际的代码就直接在函数中给出 如下所示 static int addTwo int x return x
  • 如何向带状图添加多个标记?

    我想知道如何在同一个带状图中获得多个标记 tips sns load dataset tips coldict Sun red Thur blue Sat yellow Fri green markdict Sun x Thur o Sat
  • Android的Activity.runOnUiThread不是静态的,那么我该如何使用它呢?

    例如 如果我有一个线程正在执行昂贵的操作 并且我想从该线程在 Main 活动 类中触发 runOnUiThread 显然我不应该创建我的活动类 主要 的实例 所以如果我尝试 Main runOnUiThread mRunnable 从我的线
  • ActiveRecord 使用 JSON 而不是 YAML 进行序列化

    我有一个使用序列化列的模型 class Form lt ActiveRecord Base serialize options Hash end 有没有办法让序列化使用 JSON 而不是 YAML 在 Rails 3 1 中你可以 clas
  • 每次基于 Selenium 的自动化测试后我应该退出浏览器吗?

    我试图使我的 selenium 测试尽可能原子且相互独立 因此我决定退出浏览器并在每次测试运行后创建一个新的 Webdriver 实例 这种方法对我来说更有意义 并且通过讨论这个问题的多个线程得到了强化 e G 这是对相关问题的回答 htt
  • 没有entityClass,并且由于entityClassSet中有多个,所以无法自动推导

    我正在尝试实现具有多个实体类的解决方案 但它失败并显示以下错误消息 没有配置entityClass null 并且因为有多个 EntityClassSet 类 com myspace wla JobA 类 com myspace wla J
  • 如何将我的 csv 文件转换为这个 scikit learn 数据集

    抱歉 如果我在这里没有使用正确的术语 我有一个包含我自己数据的 csv 文件 我首先需要将其转换为另一个format http scikit learn org stable modules generated sklearn datase
  • 如何在 LinearLayoutManager - RecyclerView 中重叠项目(如堆叠卡片)

    是否可以重叠 RecyclerView 中的项目 我正在尝试使用 LinearLayoutManager 我的要求与 LinearLayoutManager 中的相同 我只需要从上到下重叠内部的项目 如堆叠卡片 我见过一些变体 https