【问题标题】:TableLayout with RecyclerView带有 RecyclerView 的 TableLayout
【发布时间】:2020-09-10 18:13:14
【问题描述】:

RecyclerView 只有两个布局管理器:LinearLayoutManagerGridLayoutManager。有没有办法使用TableLayoutRecyclerView 作为布局管理器?有什么建议吗?

编辑:我想知道是否有没有从零开始编写布局管理器的解决方案。 TableLayout 行为对我来说已经足够了,只是想为处理大量数据时的性能问题添加回收功能。

我认为创建一个查看列表视图的表格并不能解决我的问题,因为我的表格非常动态,我什至不知道列名,客户决定表格的所有细节。所以单元格是自定义的,列宽需要根据内容长度自动调整大小。我不认为 listview 可以处理。

提前感谢您的帮助。

【问题讨论】:

标签: android android-recyclerview


【解决方案1】:

【讨论】:

【解决方案2】:

看看这个library。看来这正是你所需要的。它还有一个回收系统。

【讨论】:

  • 很好,我已经找到了。感谢分享。我仍在查看它的架构,似乎没有自动调整大小的列功能。而且我认为它的代码太复杂了,无法维护和添加新功能。
  • @JosephK。好吧,我认为你有一个不平凡的问题,假设一些复杂的非凡编码。因此,预计您应该考虑很多如何实现它:) 我认为分叉回购并根据您的需要调整它没有任何问题。是的,你需要根据你的单元格内容自己计算布局大小,所以你应该有类似AutoSizeRelativeLayout的东西。
  • 当然我完全理解在android中很难实现一个复杂的表。我仍在查看这个和其他 github 项目,以找到实现表格视图的最佳方法。感谢AutoSizeRelativeLayout 提示。
  • 顺便说一句,+1 提示和指导。
【解决方案3】:

我试着用这个来制作一个类似表格的结构,它奏效了。

对于您的 RecyclerView 的适配器实现, 创建一个 Horizo​​ntalscrollview 布局,并将所有元素放在其中,在每行的适配器布局 xml 中。

在要添加回收站视图的主布局 xml 中,添加一个 Horizo​​ntalScrollView 作为其父级。 现在,将 TableLayout 添加到 Horizo​​ntalScrollView

我正在为适配器布局 xml 添加以下代码:

<HorizontalScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/horizontalScroll"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!--Any custom layout here as per your need-->
</HorizontalScrollView>

我正在为主要布局 xml 添加以下代码:

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <HorizontalScrollView>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/empView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="select"
        android:scrollbars="vertical">        
    </android.support.v7.widget.RecyclerView>
        </HorizontalScrollView>

</TableLayout>

这将确保您能够拥有一个类似表格的结构,以便使用 recyclerview 水平和垂直滚动。

Horizo​​ntalscrollView 使您能够水平滚动 TableLayout 内的整个列表。 RecyclerView 使您可以垂直滚动列表。

希望这对你有用。

【讨论】:

    【解决方案4】:

    使用线性布局创建一个自定义行,然后将该行附加到 recyclerView 适配器,这只是在 RecyclerView 中制作类似结构的表的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多