当前位置: 首页 > news >正文

东莞做网站最好有哪些公司58推广网站建设有用吗

东莞做网站最好有哪些公司,58推广网站建设有用吗,一个后台可以做几个网站,武进网站建设要多少钱零、本文主题 本文要解决的问题#xff1a; 1. Recyclerview 动画的实现原理是什么#xff1f; 2. 处理的主要流程大概是怎样的#xff1f; 一、核心原理 我们抛开代码#xff0c;想一下#xff0c;RecyclerView中的view动画有几种#xff1f; 添加一个view#xff1a;…零、本文主题 本文要解决的问题 1. Recyclerview 动画的实现原理是什么 2. 处理的主要流程大概是怎样的 一、核心原理 我们抛开代码想一下RecyclerView中的view动画有几种 添加一个view添加的View 显示出来它下面的所有view向下移动一格距离 删除一个view删除的View 渐隐掉它下面的所有view向上移动一格距离 上下滑动所有子view上下滑动 移动… 归纳起来最终实现动画的时候无外乎会执行几个操作 添加或删除View的 透明度动画 0-1 或 1-0 子view的y轴坐标由动画前的位置滑动到 动画后的位置我们暂时只讨论常见的竖向布局 所以看似复杂的RecyclerView动画处理经过分解后其实就是一个view的简单动画没有任何新奇的玩意或算法。 所有需要做的就是记录下动画执行前view的状态透明度y坐标以及计算出动画的目的地透明度y坐标然后执行动画仅此而已这就是RecyclerView动画实现的核心原理。 二、源码分析 - 主流程 经过上面的分析其实我们的重点变成了view数据的组织与记录动画前view的数据的计算动画后心里要有这个数。 然后我们大概看一下整个流程 2.1 最终执行动画的 核心接口RecyclerView.ItemAnimator 核心实现类DefaultItemAnimator 核心实现方法DefaultItemAnimator.runPendingAnimations() 调用栈如下 DefaultItemAnimator.runPendingAnimations() — 核心方法 | RecyclerView.mItemAnimatorRunner | RecyclerView.postAnimationRunner() | ViewInfoStore.ProcessCallback | ViewInfoStore.process(ProcessCallback callback) | RecyclerView.dispatchLayoutStep3() 触发动画的根 RecyclerView.java private void dispatchLayoutStep3() {......// Step 4: Process view info lists and trigger animationsmViewInfoStore.process(mViewInfoProcessCallback); }2.2 动画信息存储 核心类ViewInfoStore 核心数据结构mLayoutHolderMap final SimpleArrayMapRecyclerView.ViewHolder, InfoRecord mLayoutHolderMap new SimpleArrayMap();ViewInfoStore这个类抽象了所有的子View的为了运行动画的跟踪信息。 看下mLayoutHolderMapViewHolder就是子view映射了一个InfoRecord static class InfoRecord {NullableRecyclerView.ItemAnimator.ItemHolderInfo preInfo;NullableRecyclerView.ItemAnimator.ItemHolderInfo postInfo;一目了然preInfo是动画执行前的信息postInfo是动画执行后的信息。 public static class ItemHolderInfo {public int left;public int top;public int right;public int bottom;public int changeFlags;ItemHolderInfo 记录了View的坐标与flag。 推断逻辑 也就是说在2.1最终执行动画前ViewInfoStore中的数据应该是已经准备好的。 2.3 动画执行前view信息保存 核心类ViewInfoStore 核心方法addToPreLayout() 入口RecyclerView.dispatchLayoutStep1() final ItemHolderInfo animationInfo mItemAnimator.recordPreLayoutInformation(mState, holder,ItemAnimator.buildAdapterChangeFlagsForAnimations(holder),holder.getUnmodifiedPayloads());mViewInfoStore.addToPreLayout(holder, animationInfo);2.4 计算“动画执行后View应该要处于的状态”的信息 核心类ViewInfoStore 核心方法addToPostLayout() 入口RecyclerView.dispatchLayoutStep3() final ItemHolderInfo animationInfo mItemAnimator.recordPostLayoutInformation(mState, holder); ...... mViewInfoStore.addToPostLayout(holder, animationInfo);以上就是本篇的主要内容了。 以后有时间的话补一下细节流程再更新吧。 /// 三、源码分析 - 细节流程分析
http://www.pierceye.com/news/640256/

相关文章:

  • poiplayer wordpress广州企业网站seo
  • wordpress翻页数字广州网站整站优化
  • 动漫网站设计与实现wordpress禁止留言网址
  • 网站开发交流培训机构网站制作
  • 网站安全建设模板下载百度推广免费建站
  • 开发网站公司都需要什么岗位人员郑州最好的妇科医院
  • 河北专业网站建设公司推荐温州网站建设公司有哪些
  • flash布局 的优秀网站大连网络广告
  • 网站运营seo浙江台州做网站的公司
  • 网站设计师培训学校京东联盟如何做查优惠卷的网站
  • 安全证查询官网安徽seo团队
  • 网站备案怎么注销天工网官方网站
  • 做网站去哪推广好安徽义信建设网站
  • 金乡网站建设哪家便宜示范建设验收网站
  • 西部数码网站管理助手 ftpwordpress 店铺
  • 怎样找到黄页网站唯品会 一家专门做特卖的网站
  • 企业数字展厅设计信息流优化师是干什么的
  • 网站建设福永附近网络公司怎样建设网站最好
  • 水利建设公共服务平台网站网站开发需要用什么
  • 2015做哪个网站致富网站点击量怎么看
  • 好学校平台网站模板下载wordpress 手机 登陆不了
  • 2021不良正能量免费网站app食品网站设计
  • ps做的网站林州网站建设哪家好
  • wordpress站点logo设置简易微网站模板
  • 做网站这么做网络工程师招聘
  • 如何做企业交易网站wordpress主题 ie打不开主页
  • 哪些网站做免费送东西的广告wordpress 请选择一个文件
  • wordpress定时备份插件贵州网站建设seo优化
  • 网站导航条怎么做效果wordpress会员网站
  • 企业网站空间在哪里自己做的网站竞价好还是单页好