不应该放弃学习的,更不应该放弃学习新知识。因为有时候新的知识点能够帮助我们更好的工作,并提高一定的工作效率。对于Android开发来说,RecyclerView就是这么个控件。它能够完成ListView与GridView的功能,而且还可以完成瀑布流的功能,关键是切换起来非常方便。
官网中有段英文说明是说RecyclerView是一个更高级与灵活的ListView版本。能够高效加载大量数据,同时我们还可以灵活的自定义该组件。我这只是简单的翻译,完整的可以参考官方网址(访问需要翻墙的)。
现在说明一下其简单的使用方法,下面将会是些代码片段,具体的看到效果还得自己写代码去看看。这里主要用到的组件有RecyclerView与CardView控件(这个比较简单的,就可以和LinearLayout使用方法差不多),然后依然使用前一篇文章使用的Butter Knife开源库。所以gradle配置文件需要涵盖下面的内容。
1 | dependencies { |
gradle引用完jar包,就可以在项目中正常使用RecyclerView与CardView了,首先在MainActivity对应的layout文件中包含RecyclerView控件。
1 | <android.support.v7.widget.RecyclerView |
像ListView一样,我们需要为RecyclerView中的container添加一个新的layout文件以及对应的Adapter。其对应的layout文件如下,取名为view_book_intro
。
1 | <?xml version="1.0" encoding="utf-8"?> |
对应的Adapter(我取名是BookIntroAdapter)需要集成RecyclerView.Adapter,然后重写其三个方法,完整代码如下
1 | public class BookIntroAdapter extends RecyclerView.Adapter<BookIntroAdapter.ViewHolder> { |
看看这段代码是不是要比实现ListView的Adapter更简单呢?
接下来我们就可以在MainActivity中调用RecyclerView组件,MainActiviy的代码片段如下。
1 | @Bind(R.id.recycler_view) RecyclerView recyclerView; |
注意:上述代码片段中的1、2、3就是不同呈现方式需要的代码,在实际项目中根据实际情况任意选一个就好。看到这么便利的组件,难道不想试一试嘛?