为任意View添加下拉刷新上拉加载更多的功能,支持NestedScrolling特性
compile 'q.rorbin:QRefreshLayout:1.2.4'VERSION_CODE here
<q.rorbin.qrefreshlayout.QRefreshLayout android:id="@+id/refreshlayout"android:layout_width="match_parent"android:layout_height="match_parent"> <ListViewandroid:id="@+id/listview"android:layout_width="match_parent"android:layout_height="match_parent"/> </q.rorbin.qrefreshlayout.QRefreshLayout>如果需要上拉加载更多功能,请调用以下方法
mRefreshLayout.setLoadMoreEnable(true);设置监听
mRefreshLayout.setRefreshHandler(newRefreshHandler(){@OverridepublicvoidonRefresh(QRefreshLayoutrefresh){dosomething... mRefreshLayout.refreshComplete()} @OverridepublicvoidonLoadMore(QRefreshLayoutrefresh){dosomething... mRefreshLayout.LoadMoreComplete()} });如果你想自定义头部或者尾部的View,只需要将你的View继承自QLoadView或 实现ILoadView接口
publicclassCustomViewextendsQLoadViewpublicclassCustomViewimplementsILoadView然后再设置进布局
mRefreshLayout.setHeaderView(newCustomView()); mRefreshLayout.setFooterView(newCustomView());LoadView已有三种实现类供您选择使用,分别为:HeaderView(FooterView)、MaterialHeaderView(MaterialFooterView)、MaterialBlackHeaderView(MaterialBlackFooterView),QRefreshLayout默认设置为HeaderView
| xml | code | 说明 |
|---|---|---|
| app:resistance | setResistance | 设置下拉阻力(范围0f~1f) |
Copyright 2016, RorbinQiu Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 