最下面帶瀑布流
在瀑布流管理器裏面有LayoutParams.setFullSpan(true);方法,在 onCreateViewHolder(ViewGroup parent, int viewType) 總體思路就是,把下面的瀑布流部分作爲一種type,其他無需加載更多的佈局放在recycleview裏面使用此方法使這一行佔滿全屏,這是我到現在總結出來的最好實現方式。
思路圖如下:
部分代碼如下:
@Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == TYPE_TOP) { //頭部輪播圖 View viewtop = inflater.inflate(R.layout.adapter_slider, parent, false); StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) viewtop.getLayoutParams(); params.setFullSpan(true);//最爲重要的一個方法,佔滿全屏,以下同理 viewtop.setLayoutParams(params); return new TypeTopsliderHolder(viewtop); } else if (viewType == TYPE_HEADER) { View view2 = inflater.inflate(R.layout.item_homepagertypeheader_type, parent, false); StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) view2.getLayoutParams(); params.setFullSpan(true); view2.setLayoutParams(params); return new TypeheadHolder(view2); } else if (viewType == TYPE_CENTER) { //中間head下面的佈局 View view = inflater.inflate(R.layout.itam_homepageradapter_rv2, parent, false); StaggeredGridLayoutManager.LayoutParams params2 = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); params2.setFullSpan(true); view.setLayoutParams(params2); return new TypetypeHolder2(view); } else if (viewType == TYPE_CATEGORY) { //四個快速入口的holder //這裏的TypetypeHolder和上面的TypetypeHolder2 其實可以寫成一個holder,這裏爲了簡單,避免引起復用帶來的問題,分開了 View view = inflater.inflate(R.layout.itam_homepageradapter_rv2, parent, false); StaggeredGridLayoutManager.LayoutParams params2 = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); params2.setFullSpan(true); view.setLayoutParams(params2); return new TypetypeHolder(view); } else if (viewType == TYPE_REFRESH) { return new TypeRefresh(inflater.inflate(R.layout.item_raiders2, parent, false)); } else { View viewtop = inflater.inflate(R.layout.adapter_slider, parent, false); StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) viewtop.getLayoutParams(); params.setFullSpan(true); viewtop.setLayoutParams(params); return new TypeTopsliderHolder(viewtop); } }
Demo下載地址:https://download.csdn.net/download/qq_39735504/10278124
使用的OKGO的封裝網絡框架,如果使用Retrofit網絡請求:http://blog.csdn.net/qq_39735504/article/details/79424286