Android: how to implement grid with different columns/rows size -


i need implement this:

enter image description here

seems staggeredgridlayoutmanager | gridlayoutmanager can not it, how achieve now?

gridview has performance?

you can achieve kind of recyclerview behavior twoway-view

i tested 1.0.0-snapshot version of lib.

it's kind of old project (not maintened anymore), can write own recyclerview/layoutmanager.

example of layout

in recyclerviewadapter need set span logic:

@override  public void onbindviewholder(recyclerview.viewholder holder, int position) {         super.onbindviewholder(holder, position);         final spannablegridlayoutmanager.layoutparams lp =                 (spannablegridlayoutmanager.layoutparams) holder.itemview.getlayoutparams();          final int span1;         final int span2;         if (position == 0) {             span1 = 2;             span2 = 2;         } else if (position == 3) {             span1 = 2;             span2 = 3;         } else {             span1 = 1;             span2 = 1;         }          final int colspan = (span2);         final int rowspan = (span1);          if (lp.rowspan != rowspan || lp.colspan != colspan) {             lp.rowspan = rowspan;             lp.colspan = colspan;             holder.itemview.setlayoutparams(lp);         } } 

i used custom recyclerview library (twowayview):

<org.lucasr.twowayview.widget.twowayview         android:id="@+id/fragment_drawer_list"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:layout_marginbottom="60dp"         android:cliptopadding="false"         android:paddingbottom="32dp"         app:twowayview_layoutmanager="spannablegridlayoutmanager"         app:twowayview_numcolumns="3"         app:twowayview_numrows="3" /> 

result screenshot: result screenshot


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -