基于Spanned排版引擎初探
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 基于Spanned排版引擎初探 前言 ****的个人中心的界面基本上都要求需要服务端可配置,实现灵活排版.但对于客户端来说,这种方式实现起来不确定因素带多了,仅用单纯的某一控件是很难实现的.其一解决方法是这些页面都用WebView控件排版,这样服务端只要填充web页面就可以了,但是WebView是重量级的,而且会伴有不确定的WebKitCore的内存泄漏,再则由于Web页面数据大小,服务器,网络等因素页面加载有可能出现缓慢的现象.故这里提出一种基于android TextView控件的Spanned的排版和数据解析的实现方式.可以实现url点击,图文混排,颜色,背景等独立排版.如此服务端就可单独下发标签化数据,此外客户端又可根据不同类型数据,实现不同的数据请求策略. 利用上述的方法就可在个人中心的部分页面以及私信内容实现服务端可控图文混排. 一、格式化标签 要想达到前言中的效果,就要规定一组可识别的格式化标签规范,该标签语法如下: 1. 一级标签: $span:<tag>[(arg0,arg1,…)]; . ’$span’为格式化标签开始, . ’;’为格式化标签结尾; . ’<tag>’标签主体,必有部分,例如图片:’img’,链接:’url’; . [(arg0,arg1,…)]是后随参数部分.例如:图片: