快速利用RecyclerView的LayoutManager搭建流式佈局

以前也寫了一個ViewGroup版本的流式佈局,該流式佈局有兩大優勢:能夠設置行數是否內容在該行中居中顯示(猛戳),說真的自從對RecyclerViewLayoutManager有新的認識後,徹底不用擔憂不少的複雜佈局了。並且對ViewGroup測量過程也不用擔憂了,由於裏面有LayoutManager幫咱們實現了。下面就進入該篇文章的主題吧,廢話很少說,直接上圖更有說服力。java

simple.gif

上面的示例圖是我把ItemView分別用了TextViewImageView。其實這些是沒什麼好說的,主要是如何定義這樣的LayoutManager。相信你們都用過了LinearLayoutManager吧,系統提供的LayoutManager都是對齊的方式進行排版的,咱們這裏的flow的樣式就是在排版item以前,判斷了該行多餘的空間還夠不夠顯示,若是不夠直接換行顯示的思路。git

使用:

詳見TextFlowActivityDiffHeightTextFlowActivityPhotoFlowActivitygithub

RecyclerView recyclerView = (RecyclerView) findViewById(flow);
FlowLayoutManager flowLayoutManager = new FlowLayoutManager();
//設置每個item間距
recyclerView.addItemDecoration(new SpaceItemDecoration(dp2px(10)));
recyclerView.setLayoutManager(flowLayoutManager);
recyclerView.setAdapter(new FlowAdapter());
複製代碼

常見商品屬性界面(RV嵌套RV,item高度爲wrap_content):bash

商品屬性界面.gif

使用:見ProductActivityapp

常見懸浮商品屬性界面(RV嵌套RV,item高度爲wrap_content):maven

懸浮商品屬性界面.gif

使用:見SuspensionProductActivity佈局

動畫修復問題: 測試

動畫演示.gif

使用:見TextFlowActivitygradle

viewpager中流式佈局應用: 動畫

viewpager中流式佈局.gif

使用:見ViewPagerActivity

添加RV嵌套RV高度爲wrap_content不顯示問題,請使用: NestedRecyclerView

添加長點擊進入刪除效果,點擊外面進入正常模式:

長點擊刪除界面.gif
使用:見 LongClickDeleteTextFlowActivity

gradle依賴:

all projects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

dependencies {
        compile 'com.github.1002326270xc:LayoutManager-FlowLayout:v1.6'
}
複製代碼

歡迎你們提出問題,留言板留言或郵箱直接聯繫我。我會第一時間測試相關的bug

歡迎客官到本店光臨:184793647(qq羣)

關於我:

email: a1002326270@163.com

csdn:enter

github:enter

相關文章
相關標籤/搜索