RecyclerView简单使用

(一)前言:
RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。
(二)介绍:
RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理:

  • ①使用LayoutManager来确定每一个item的排列方式。
  • ②为增加和删除项目提供默认的动画效果。
    你也可以定义你自己的LayoutManager和添加删除动画,RecyclerView项目结构如下:
结构图

Adapter:使用RecyclerView之前,你需要一个继承自RecyclerView.Adapter的适配器,作用是将数据与每一个item的界面进行绑定。
LayoutManager:用来确定每一个item如何进行排列摆放,何时展示和隐藏。回收或重用一个View的时候,LayoutManager会向适配器请求新的数据来替换旧的数据,这种机制避免了创建过多的View和频繁的调用findViewById方法(与ListView原理类似)。
(三)用法:
1、如果你用的是Android Studio,必须添加依赖库:

2、编写代码:

<android.support.v4.widget.SwipeRefreshLayout   xmlns: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.RecyclerView                    
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

</android.support.v4.widget.SwipeRefreshLayout>

这里我根布局是SwipeRefreshLayout,你们可以不管他(ps:你换你自己的布局就可以,主要接下来文章我打算写SwipeRefreshLayout与Viewpager滑动冲突),主要看RecyclerView。

然后在Activity中:

/**
 * Created by zjp on 2016/4/21 10:00. 
 */
 public class ViewConflickActivity extends AppCompatActivity {
     @Bind(R.id.swipeRefreshLayout)
     SwipeRefreshLayout swipeRefreshLayout;

    @Bind(android.R.id.list)
    RecyclerView recyclerView;

   private LinearLayoutManager linearLayoutManager;
   private int index;
   private RefreshAdapter adapter;
    

@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {       
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.conflick_layout);
      ButterKnife.bind(this);
      initViews();
}

private void inidViews() {
    //设置刷新时动画的颜色,可以设置4个   
    swipeRefreshLayout.setProgressBackgroundColorSchemeResource(android.R.color.white);
    swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light,        android.R.color.holo_red_light, android.R.color.holo_orange_light,        android.R.color.holo_green_light);

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,044评论 25 709
  • RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替...
    Karma1026阅读 10,702评论 0 2
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,969评论 22 665
  • 文/搬砖哥 《我的天空》 给不了你蔚蓝 给不了你壮观 我的天空,早已经风清云淡 不敢看 只怕眼泪就会 偷偷流干 此...
    一枚搬砖哥阅读 3,720评论 27 45
  • 讲真,我是无法直面生命低谷的人。所以更不要说去对抗低谷了。对于低谷,要么是采取逃避,要么是采取压抑的策略,把所有不...
    良知良智阅读 910评论 0 2