Tristan Blog

Da weiß ich die Stürme schon und bin erregt wie das Meer.

新版首页开发技术总结

2019生活服务类APP首页改版技术项改进

背景 首页是一个APP的门面,或者说是一个互联网公司的门面。大型生活综合服务类APP和电商多品类APP一样,首页陈列着很多很杂的类目,所以随着公司业务的不断变化,首页的设计和改进也从未停止下来。拥抱变化,才有更多的成长和进步,同时这也体现了一个公司的活力。 今年的首页改版变化,给我最深的印象是:设计简化和性能提升。 设计简化 1. 动效减少 头部动效简化;之前包括城市、...

TextView多行文字超出时如何在省略号后添加图标

TextView的图文混排知识

背景 最近在做feed流模板样式调整时,出现了这样一个需求,要求在标题文字后面(不是控件后面)加一个图片标签来展示精帖。标题文字控制最大显示两行,文字超出部分用省略号代替,图标紧跟在文字或是省略号后显示。 技术点 图文混排方案 Android官方对TextView的图文混排提供了支持,我们可以从以下三种方案实现TextView的图文混排: 在TextView中使用Comp...

用Flutter实现一个复杂页面

Flutter从入门到放弃

背景 Flutter作为全新跨平台应用框架,在页面渲染和MD开发上优势明显,可谓是业界一枝独秀。正好最近有这样的一个机会学习Flutter开发,我们便尝试用它开发一个MD风格的较复杂页面,来比较跟原生应用开发的优势。也是想通过对新框架的学习探索,找到适合自身应用的框架。 页面展示 首页是整个应用里边交互最为复杂的一个页面了,它集合了各种滑动方式,包括:纵向滑动、横向滑动、嵌套滑动;同时,也...

Myers差分算法在首页中的应用

从DiffUtil到Myers差量分析算法

背景 首页列表变量更新,首页的上半身是个列表,列表根据变化内容刷新是必要的;但如果全量更新,则会产生不必要的性能损耗。通常,用户的每多一次下拉刷新,首页区块都无需更新。 搭建基础diff工具类,diff的应用场景很广泛,两组字符串、两个列表之间有何变化都可能需要做diff分析,平台有必要搭建这样一个不受限于业务和具体UI控件的工具类供业务方使用。 Diff工具类 Android中的...