Android-alibaba-vLayout
VirtualLayout是一個針對RecyclerView的LayoutManager擴展, 主要提供一整套布局方案和布局間的組件復用的問題。
使用
compile ('com.alibaba.android:vlayout:1.0.7@aar') {
transitive = true
}
功能
默認通用布局實現,解耦所有的View和布局之間的關系: Linear, Grid, 吸頂, 浮動, 固定位置等。
LinearLayoutHelper: 線性布局
GridLayoutHelper: Grid布局, 支持橫向的colspan
FixLayoutHelper: 固定布局,始終在屏幕固定位置顯示
ScrollFixLayoutHelper: 固定布局,但之后當頁面滑動到該圖片區域才顯示, 可以用來做返回頂部或其他書簽等
FloatLayoutHelper: 浮動布局,可以固定顯示在屏幕上,但用戶可以拖拽其位置
ColumnLayoutHelper: 欄格布局,都布局在一排,可以配置不同列之間的寬度比值
SingleLayoutHelper: 通欄布局,只會顯示一個組件View
OnePlusNLayoutHelper: 一拖N布局,可以配置1-5個子元素
StickyLayoutHelper: stikcy布局, 可以配置吸頂或者吸底
StaggeredGridLayoutHelper: 瀑布流布局,可配置間隔高度/寬度
上述默認實現里可以大致分為兩類:一是非fix類型布局,像線性、Grid、欄格等,它們的特點是布局在整個頁面流里,隨頁面滾動而滾動;另一類就是fix類型的布局,它們的子節點往往不隨頁面滾動而滾動。
所有除布局外的組件復用,VirtualLayout將用來管理大的模塊布局組合,擴展了RecyclerView,使得同一RecyclerView內的組件可以復用,減少View的創建和銷毀過程。