一个强大的Recyclerview
包装与合作Realm
作为您的数据存储。它支持以下功能开箱:
- 自定义适配器自动刷新列表时领域的变化和动画中的新项目。
- 空状态
- 拉来刷新(由SwipeRefreshLayout支持)
- 无限滚动(回调更多的数据撷取)
- 节头(由SUPERSLIM支持)
如何将它包含:
allprojects {
repositories {
// ...
maven { url "https://jitpack.io" }
}
}
dependencies {
compile 'com.github.thorbenprimke:realm-recyclerview:0.9.23'
}
演示
如何开始:
该RealmRecyclerView
具有能够以XML,以定制的外观和用于layoutType最importanlty设置的一些属性。此外,它依赖于一个扩展RecyclerView.Adapter
名为RealmBasedRecyclerViewAdapter
提供的动画和头的支持。
RealmRecyclerView
下面的代码片段显示了如何包含RealmRecyclerView
在你的布局文件。
<co.moonmonkeylabs.realmrecyclerview.RealmRecyclerView
android:id="@+id/realm_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:rrvIsRefreshable="true"
app:rrvEmptyLayoutId="@layout/empty_view"
app:rrvLayoutType="LinearLayout"
/>
重要的是要在这里指出的是,app:rrvLayoutType
属性已被置位。它确定哪个LayoutManager
将被使用。选项有:
-
LinearLayout
-
Grid
-
LinearLayoutWithHeaders
所有这些都会产生垂直线性或网格布局。
其他属性:
rrvIsRefreshable
:将拉来刷新功能的recyclerView
。为了接收刷新活动,一个听者必须通过设置setOnRefreshListener
并setRefreshing
用于控制任一打开refersh动画的开/关。
rrvEmptyLayoutId
:自定义空状态视图可以通过这个属性来提供。每当列表中有没有项目,空状态表示。
rrvGridLayoutSpanCount
:此属性必须与比当零以上的整数设为rrvLayoutType
设为Grid
除非rrvGridLayoutItemWidth
设置。
rrvGridLayoutItemWidth
:该属性具有与表示一格列的宽度时的一个尺寸值被设置rrvLayoutType
被设置为Grid
,除非rrvGridLayoutSpanCount
被设置。
rrvSwipeToDelete
:此属性只与支持rrvLayoutType
的LinearLayout
。如果设置为true,刷卡行删除已启用。该行被从已删除的Realm
直接。
RealmBasedRecyclerViewAdapter:
的的心脏RealmRecyclerView
的功能都来自这一习俗RecyclerView.Adapter
。它包括插入/删除动画每当支持Realm
的变化。它还inculde产生用于列表的内容的标头如果它类型的逻辑LinearLayoutWithHeaders
。
-
automaticUpdate
:如果automaticUpdate被设置,RealmResults
被automatially更新,并将列表refershed与新的结果。 -
animateResults
:如果animateResults与automaticUpdate设置在一起时,自动更新动画。这仅限于单个缺失或插入。如果是多个项目,它只会刷新列表。动画为了充分利用了resuls主键列作为每一行的唯一标识符。因此,你Realm
的方案需要包括类型的主键列Integer
或String
。 -
addSectionHeaders
:当rrvLayoutType
是LinearLayoutWithHeaders
,addSectionHeaders需求,以使转接器,以产生标头设置的。的headerColumnName
需要,以查找标题列的编程设置以及Realm
的架构。注意:目前用于自定义头不支持,它始终是内嵌|粘。
资源均来自第三方,谨慎下载,前往第三方网站下载