阿里开源android控件,阿里 Android 动态界面开发框架 Tangram,是时候理解一波了

熟习阿里出品的vlayout的读者都知道,vlayout极大地扩展了RecyclerView的LayoutManager,从而为RecyclerView提供了一组布局。

使用该开源项目,可以让我们在同一个RecyclerView里解决线性、网格等等各种复杂的布局。然而,使用vlayout时,一切都需要用Java代码实现,而且都是写在用户端上,一旦需要修改就必需发版,不是很灵活,于是阿里又提出了Tangram,其可以使用json来配置布局,可以说极大地提升了灵活性。

Tangram 是阿里出品的用于快速实现组合布局的框架模型,在手机天猫 Android 及 iOS版广泛使用,如下图:

b8baa30b404ddd7ed2a642f0c63887bf.png

手机天猫

Tangram中文翻译为七巧板,即该框架提供一系列基本单元布局,通过快速拼装就能搭建出一个具有多种布局的页面。其提供了流式布局、滚动布局,瀑布流布局,固定布局等数种布局样式,布局提供样式参数供调整,布局内部也可填充当意的视图(View),使Native开发的页面具有肯定的动态性,并提供极致的性能。

官方demo截图如下:

ba7033c62a1cb63d325322c9687c41ec.gif

Tangram包含的特点如下:Android iOS 双平台支持。

通过 json 创立页面视图,并提供了默认的解析器。

可轻松实现页面视图的回收与复用。

框架提供多种默认的布局方式。

通过 json 数据或者代码支持自己设置布局样式。

高性能,基于vlayout。

支持扩展功能板块。

官方尽管给出了使用文档,但是不是很适合入门上手,于是我参照官方文档和各类文章,自己实现了一个demo,并总结成了一篇文章,在这里分享给大家。

Android动态界面开发框架Tangram使用完整教程:

https://blog.youkuaiyun.com/u013541140/article/details/89517186

在这篇文章里,大家可以按照我的思路,来理解一下Tangram的概念、掌握该开源框架的使用步骤,并熟练使用该框架来进行布局和组件的开发。该文章的目录截图如下:

f73f5eecacfaeb86e82d4c9f48f62ec5.png

通过阅读上面的文章,大家就会理解到,在 Tangram 体系里,页面结构可以通过配置动态升级。然而,业务组件还是要通过 Java 代码实现的,无法动态升级。

于是,VirtualView 就是为理解决业务组件的动态升级而生的,它提供了一系列基础 UI 组件和布局组件能力,通过 XML 来搭建业务组件,并将 XML 模板编译成二进制数据,而后主体框架解析二进制数据并渲染出视图。当 XML 模板数据能动态下发的时候,用户端上的业务组件视图也就能动态升级了。

VirtualView 是 Tangram 更新过程中引入的新的组件开发技术,主要功能包括:一份模板,两端支持。

提供基础的原子控件与容器控件,支持加入自己设置组件。

支持一种虚拟化实现控件的协议,在模板里混合使用虚拟控件和实体控件。

支持在模板里编写数据绑定的表达式。

支持在模板里写事件触发的逻辑表达式。

提供配套的开发工具,辅助模板开发工具。

在下面这篇文章,我给大家带来了如何去使用VirtualView这个开源框架:

Android动态界面开发框架VirtualView使用完整教程

https://blog.youkuaiyun.com/u013541140/article/details/89519912

通过学习该文章,大家可以:理解 VirtualView 模板数据的格式

理解 VirtualView 的基本原理,包括从模板编译、解析、绑定数据几个主要流程

理解 VirtualView 的基本接入方式,初始化、增加自己设置基础控件、增加与外部的逻辑交互等

理解 VirtualView 内置基础控件的特性,避免重复开发

该文章的目录截图如下:

0847eef7c845ed916a7dd8193f34c01a.png

这两篇文章里实现的demo已上传到GitHub上,开源地址链接: jimmysuncpt/TangramDemo

熟习阿里出品的vlayout的读者都知道,vlayout极大地扩展了RecyclerView的LayoutManager,从而为RecyclerView提供了一组布局。

使用该开源项目,可以让我们在同一个RecyclerView里解决线性、网格等等各种复杂的布局。然而,使用vlayout时,一切都需要用Java代码实现,而且都是写在用户端上,一旦需要修改就必需发版,不是很灵活,于是阿里又提出了Tangram,其可以使用json来配置布局,可以说极大地提升了灵活性。

Tangram 是阿里出品的用于快速实现组合布局的框架模型,在手机天猫 Android 及 iOS版广泛使用,如下图:

713ff5083af85750161ddf39238ed983.png

手机天猫

Tangram中文翻译为七巧板,即该框架提供一系列基本单元布局,通过快速拼装就能搭建出一个具有多种布局的页面。其提供了流式布局、滚动布局,瀑布流布局,固定布局等数种布局样式,布局提供样式参数供调整,布局内部也可填充当意的视图(View),使Native开发的页面具有肯定的动态性,并提供极致的性能。

官方demo截图如下:

dac729a95477a0ccf348255e3a78cb7a.gif

Tangram包含的特点如下:Android iOS 双平台支持。

通过 json 创立页面视图,并提供了默认的解析器。

可轻松实现页面视图的回收与复用。

框架提供多种默认的布局方式。

通过 json 数据或者代码支持自己设置布局样式。

高性能,基于vlayout。

支持扩展功能板块。

官方尽管给出了使用文档,但是不是很适合入门上手,于是我参照官方文档和各类文章,自己实现了一个demo,并总结成了一篇文章,在这里分享给大家。

Android动态界面开发框架Tangram使用完整教程:

https://blog.youkuaiyun.com/u013541140/article/details/89517186

在这篇文章里,大家可以按照我的思路,来理解一下Tangram的概念、掌握该开源框架的使用步骤,并熟练使用该框架来进行布局和组件的开发。该文章的目录截图如下:

5ca9e661ccbdde43225efff5a9719d06.png

通过阅读上面的文章,大家就会理解到,在 Tangram 体系里,页面结构可以通过配置动态升级。然而,业务组件还是要通过 Java 代码实现的,无法动态升级。

于是,VirtualView 就是为理解决业务组件的动态升级而生的,它提供了一系列基础 UI 组件和布局组件能力,通过 XML 来搭建业务组件,并将 XML 模板编译成二进制数据,而后主体框架解析二进制数据并渲染出视图。当 XML 模板数据能动态下发的时候,用户端上的业务组件视图也就能动态升级了。

VirtualView 是 Tangram 更新过程中引入的新的组件开发技术,主要功能包括:一份模板,两端支持。

提供基础的原子控件与容器控件,支持加入自己设置组件。

支持一种虚拟化实现控件的协议,在模板里混合使用虚拟控件和实体控件。

支持在模板里编写数据绑定的表达式。

支持在模板里写事件触发的逻辑表达式。

提供配套的开发工具,辅助模板开发工具。

在下面这篇文章,我给大家带来了如何去使用VirtualView这个开源框架:

Android动态界面开发框架VirtualView使用完整教程

https://blog.youkuaiyun.com/u013541140/article/details/89519912

通过学习该文章,大家可以:理解 VirtualView 模板数据的格式

理解 VirtualView 的基本原理,包括从模板编译、解析、绑定数据几个主要流程

理解 VirtualView 的基本接入方式,初始化、增加自己设置基础控件、增加与外部的逻辑交互等

理解 VirtualView 内置基础控件的特性,避免重复开发

该文章的目录截图如下:

e154b1a91228fc25f1a9aac26e9ff883.png

这两篇文章里实现的demo已上传到GitHub上,开源地址链接: jimmysuncpt/TangramDemo

大家可以通过我的文章和demo去学习,感谢大家的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值