首先是主要布局

<android.support.v4.widget.SwipeRefreshLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/swipeRefreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"><android.support.v7.widget.RecyclerViewandroid:id="@+id/recylerView"android:layout_width="wrap_content"android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView></android.support.v4.widget.SwipeRefreshLayout>

然后是获取控件以及设置监听

findViewById......//设置下拉刷新swipeRefreshLayout.setOnRefreshListener(newSwipeRefreshLayout.OnRefreshListener(){@OverridepublicvoidonRefresh(){if(isrefreshing){//判断是否正在刷新Log.d(TAG,"ignoremanuallyupdate!");}else{do.......}}});

说了拉刷新,那么就有上拉加载更多,其实个人觉得上拉加载更多RecyclerView以及SwipeRefreshLayout都没有做得很好,也是这个控件用起来不是很舒服的地方。简单的介绍一种方式

recyclerView.setOnScrollListener(newRecyclerView.OnScrollListener(){@OverridepublicvoidonScrolled(RecyclerViewrecyclerView,intdx,intdy){super.onScrolled(recyclerView,dx,dy);intlastVisibleItem=((LinearLayoutManager)mLayoutManager).findLastVisibleItemPosition();inttotalItemCount=mLayoutManager.getItemCount();//lastVisibleItem>=totalItemCount-4表示剩下4个item自动加载,各位自由选择//dy>0表示向下滑动if(lastVisibleItem>=totalItemCount-4&&dy>0){if(isLoadingMore){Log.d(TAG,"ignoremanuallyupdate!");}else{loadPage();//这里多线程也要手动控制isLoadingMoreisLoadingMore=false;}}}});

总结:

1、新控件用起来是很舒服,但是很多功能没有全部书写好

2、期望官方解决上拉加载更多的问题

更多相关文章

  1. Android学习--动态向SPinner控件中添加数据
  2. Android在代码中设置控件的drawableLeft,drawableRight,drawableTo
  3. 编程回忆之Android回忆(个性化控件(View)篇)
  4. Android 控件布局实现卡片效果,阴影效果
  5. 使用eclipse与android studio 在开发自定义控件时的区别
  6. 介绍一个Android的开源的自定义小控件:TextDrawable
  7. Android常见的十个高级控件
  8. Android各种花式酷炫自定义控件开源库集合

随机推荐

  1. Android中DatePicker只显示年月的方法
  2. Android之底部導航欄--RadioGroup、TabHo
  3. Android 异步网络请求框架-Volley
  4. Android Compatibility Package
  5. Android中Timer使用示例
  6. Android之Activity的生命周期和Activity
  7. Android的bitmap和优化
  8. Android编译环境——ubuntu12.04上androi
  9. Native+WebApp中Phonegap调用Android Act
  10. eclipse中出现Could not find *.apk的问