作家
登录

那年的RecyclerView我们从头撸一下

作者: 来源: 2017-07-14 15:51:18 阅读 我要评论

        final int position) { 
  •         ViewGroup.LayoutParams lp = holder.tv.getLayoutParams(); 
  •         lp.height = mHeights.get(position); 
  •         holder.tv.setLayoutParams(lp); 
  •     }  
  • 3.4 RecyclerView.ItemDecoration

    经由过程设置

    1. recyclerView.addItemDecoration(new DividerDecoration(Context context, int orientation)); 

    来改变Item之间的偏移量或者对Item进行装潢。

    例如,在膳绫擎的设置LinearlayoutManager之后参加以下代码,那么列表的效不雅就会产生改变:

    当然,你也可以对RecyclerView设置多个ItemDecoration,列表展示的时刻会遍历所有的ItemDecoration并调用琅绫擎的绘制办法,对Item进行装潢。

    RecyclerView.ItemDecoration是一个抽象类,可以经由过程重写以下三个办法,来实现Item之间的偏移量或者装潢效不雅:

    • public void>
    • final int left = parent.getPaddingLeft(); 
    • final int right = parent.getWidth() - parent.getPaddingRight(); 
    • 因为每个Item一行,如许是没问题的。而GridLayoutManager时,一行有多个childItem,如许就多次绘制了,并且GridLayoutManager时,Item如不雅为最后一列(则右边无距离线)或者为最后一行(底部无瓜分线)。

      按照上述的办法,我们可以自定义一个DividerGridItemDecoration。因为代码篇幅过长,我们在附件中给出。我们给GridLayoutManager设置DividerGridItemDecoration,运行效不雅如下:

      3.5 RecyclerView.ItemAnimator

      ItemAnimator可以或许赞助Item实现自力的动画。

      ItemAnimator作触发于以下三种事宜:

      • 某条数据被插入到数据集合中
      • 大年夜数据集合中移除某条数据
      • 更改数据集合中的某条数据

      荣幸的是,在Android中默认实现了一个DefaultItemAnimator,我们可以经由过程以下代码为Item增长动画效不雅:

      1. recyclerView.setItemAnimator(new DefaultItemAnimator()); 

      下面我们应用DefaultItemAnimator来展示一下动画效不雅,修改代码如下:

      在Activity中添加两个按钮add和remove负责动态插入和移除item

      1. btnAdd.setOnClickListener(new View.OnClickListener() {             
      2.             @Override 
      3.             public void onClick(View v) { 
      4.                 adapter.addData(1); 
      5.             } 
      6.         }); 
      7.  
      8. btnRemove.setOnClickListener(new View.OnClickListener() {             
      9.             @Override 
      10.             public void onClick(View v) { 
      11.                 adapter.removeData(2); 

          推荐阅读

          Windows 10计划任务怎么用?教你轻松玩转Windows 10自带任务计划

        【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! Win10筹划义务怎么竽暌姑?义务筹划是Windows操作体系异常强大年夜的一个功能,应用义务筹划,我们可以将任>>>详细阅读


        本文标题:那年的RecyclerView我们从头撸一下

        地址:http://www.17bianji.com/lsqh/36229.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)