之前也寫了一個(gè)ViewGroup版本的流式布局,該流式布局有兩大優(yōu)點(diǎn):可以設(shè)置行數(shù)和是否內(nèi)容在該行中居中顯示(猛戳),說真的自從對(duì)RecyclerView的LayoutManager有新的認(rèn)識(shí)后,完全不用擔(dān)心很多的復(fù)雜布局了。而且對(duì)ViewGroup測(cè)量過程也不用擔(dān)心了,因?yàn)槔锩嬗?strong>LayoutManager幫我們實(shí)現(xiàn)了。下面就進(jìn)入該篇文章的主題吧,廢話不多說,直接上圖更有說服力。

上面的示例圖是我把ItemView分別用了TextView和ImageView。其實(shí)這些是沒什么好說的,主要是如何定義這樣的LayoutManager。相信大家都用過了LinearLayoutManager吧,系統(tǒng)提供的LayoutManager都是對(duì)齊的方式進(jìn)行排版的,我們這里的flow的樣式就是在排版item之前,判斷了該行多余的空間還夠不夠顯示,如果不夠直接換行顯示的思路。
使用:
詳見TextFlowActivity、DiffHeightTextFlowActivity、PhotoFlowActivity
RecyclerView recyclerView = (RecyclerView) findViewById(flow);
FlowLayoutManager flowLayoutManager = new FlowLayoutManager();
//設(shè)置每一個(gè)item間距
recyclerView.addItemDecoration(new SpaceItemDecoration(dp2px(10)));
recyclerView.setLayoutManager(flowLayoutManager);
recyclerView.setAdapter(new FlowAdapter());
常見商品屬性界面(RV嵌套R(shí)V,item高度為wrap_content):

使用:見ProductActivity
常見懸浮商品屬性界面(RV嵌套R(shí)V,item高度為wrap_content):

動(dòng)畫修復(fù)問題:

使用:見TextFlowActivity
viewpager中流式布局應(yīng)用:

添加RV嵌套R(shí)V高度為wrap_content不顯示問題,請(qǐng)使用:
NestedRecyclerView
添加長點(diǎn)擊進(jìn)入刪除效果,點(diǎn)擊外面進(jìn)入正常模式:

使用:見LongClickDeleteTextFlowActivity
gradle依賴:
all projects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.1002326270xc:LayoutManager-FlowLayout:v1.7'
}
歡迎大家提出問題,留言板留言或郵箱直接聯(lián)系我。我會(huì)第一時(shí)間測(cè)試相關(guān)的bug
歡迎客官到本店光臨:184793647(qq群)
關(guān)于我:
email:a1002326270@163.com
csdn:enter
github:enter