完整的RecylerView的使用方法和例子

     一、RecylerView的特点

          1、 不关心Item是否显示在正确的位置,通过设置不同LayoutManager 的实例让Item显示不同的风格。

          2、 不关心 Item间如何分离。要定义Item间的分隔效果,可以实现ItemDecoration的子类,ItemDecoration里提供了onDraw()和onOverDraw()方法来绘制Item间的分隔情况。

          3、 不关注Item增加与删除的动画效果。可以通过ItemAnimator来增加Item增加与删除的效果。

          4、 仅仅关注如何回收与复用View

     二、RecylerView可以做什么

          1、 可以显示ListView和GridView的风格

         2、 可以显示横向的ListView和GridView

         3、 可以显示瀑布流的效果

         4、 可以很灵活的制定Item增加与删除的效果  

      三、如何导入jar包

          因为我是用Android Studio实现的,所以在这里我只说一下Android Studio是如何导入jar包,以及遇到的问题并如何解决的。导入方法如下:

          File——>Prooject Structure——>选择你当前的Modules——>Dependencies——>"+"——>Library dependency——>找到“recycleview-V7”包——>"OK"。

          导入进来的jar包可以在build.gragle中看到,如图:

           

          注意:导进来的jar包版本有可能和compileSdkVersion的版本不一致,会报红,但是不影响程序的正常运行。我觉得会报红可能是因为compileSdkVersion版本 比24低,但是现在还没有24版本的SDK。如图:

            

       四、代码实现

          这个项目在写的时候还是比较全面的,实现了ListView、GridView、横向GridView、瀑布流以及添加和删除Item,还实现了前三项的点击事件和长按事件,但是没有实现瀑布流的点击事件,如果大家有需求的话,可以参考前三个的点击事件和长按事件,我只是写了一个回调,因为RecylerView本身并没有提供点击事件的接口。还有一点需要注意的是,Item的间隔线,系统并没有写好ItemDecoration的实现类,需要我们自己去实现,Dome里我已经实现好了这个类叫DividerItemDecoration,大家也可以参考github,链接是:https://gist.github.com/alexfu/0f464fc3742f134ccd1e。由于瀑布流的特殊性,所以它的适配器是单独写的一个类叫StaggeredAdapter。为了让大家比较容易的实现效果,我就不在这里讲解我的代码了,里边重要的地方我已经写了小注释,下面我把我写的Dome给大家分享一下吧,链接是:http://pan.baidu.com/s/1cogQn0


     

            

             

          

          

原文地址:https://www.cnblogs.com/chentong/p/5497342.html