當前位置:編程學習大全網 - 源碼下載 - 安卓復雜的主頁怎麽實現?

安卓復雜的主頁怎麽實現?

RecyclerView的兩級嵌套

看到同壹個滾動控件中有三種混合布局,大多數人的第壹印象是嵌套。

如果嵌套,什麽是嵌套?從效果圖來看,上圖中壹列的視圖數似乎是固定的,也就是說可以使用RelativeLayout等布局進行硬排版。如果真的是固定的話這樣做當然更好,但是我註意到當妳點擊每壹列上的刷新按鈕時,會有兩個視圖偶爾交換位置的動畫,這是recycle view特有的,也沒有人告訴我每壹列的視圖數是固定的,萬壹哪天又多了壹行,所以我們還是嵌套了recycle view。具體嵌套規則如下:

其實最外面的RecyclerView1可以用ScrollView代替,只要把內部的RecyclerViews依次拼接在壹起就可以了,而且更容易實現。實現的方式有千萬種。我只是選壹個自己喜歡的,只是為了方便擴展,萬壹需要動態添加列。

上壹篇文章講了RecyclerViews的嵌套問題,為每個recyclerview設置對應的Fully * * * * LayoutManager就足夠了。具體實現見源碼,就不貼了。重新設置getItemViewType方法,為每個位置的項目設置不同的Type類型,然後在onCreateViewHolder中創建對應的Holder,最後在onBindViewHolder中為不同類型的項目設置不同的full-layed子RecyclerView。

@覆蓋

public void onBindViewHolder(recycler view。取景器支架,中間位置){

if(我的視圖持有者的持有者實例1){

holder . child _ recycle view . setlayoutmanager(new FullyLinearLayoutManager(context));

}else if(我的視圖持有者2的持有者實例){

holder . child _ recycle view . setlayoutmanager(new FullyGridLayoutManager(context,2,GridLayoutManager。豎,假));

}else if(我的視圖持有者3的持有者實例){

holder . child _ recycle view . setlayoutmanager(new FullyGridLayoutManager(context,3,GridLayoutManager。豎,假));

}else if(我的視圖持有者4的持有者實例){

holder . child _ recycle view . setlayoutmanager(new FullyGridLayoutManager(context,3,GridLayoutManager。豎,假));

}

}

  • 上一篇:直播APP開發面臨哪些難點
  • 下一篇:如何制作chrome瀏覽器插件
  • copyright 2024編程學習大全網