【问题标题】:Android expandable recycler view with grid layout manager, with specific expanding behaviour带有网格布局管理器的 Android 可扩展回收器视图,具有特定的扩展行为
【发布时间】:2017-08-09 10:32:26
【问题描述】:

我想使用带有网格布局管理器的可扩展回收视图,但具有特定的扩展行为,可以扩展到屏幕的整个宽度。

有什么方法或者图书馆可以实现这一点吗?谢谢。

【问题讨论】:

    标签: android android-recyclerview gridlayoutmanager


    【解决方案1】:

    您需要在 ViewHolder 中添加一个转换。查看此帖子:link

    【讨论】:

      【解决方案2】:

      我不知道克里斯托弗的链接是否允许可扩展元素占据整个 2 个网格。可能有一种方法可以结合使用 getItemViewType() 和 setSpanSizeLookup()。

      @Override
      public int getItemViewType(int position) {
          if (position == positionOfClickedItem + 2){
              return TYPE_EXPANDABLE;
          } else {
              return TYPE_CAR_ITEM;
          }
      }
      

      根据位置绑定数据,并将位置携带到你的activity中设置SpanSizeLookup。然后,您必须将更改通知适配器:

       // Create a SpanSizeLookup which returns 2 grids span if its the expandable or 1 otherwise.
          gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
              @Override
              public int getSpanSize(int position) {
                  if (position == positionOfClickedItem) {
                      return 2;
                  } else {
                      return 1;
                  }
              }
          });
      

      我认为转换答案效果更好,但以防跨度大小很重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多