手机版

百科游戏 手游攻略

tangram(tangram英语怎么读)

百科 2026-02-17 09:14:55 手游攻略 阅读:3685次

Tangram系列(一)Android Tangram入门

Tangram基本理念是粗颗粒度组件化+灵活布局容器,重点关注高性能(页面渲染效率&组件回收复用,跨父节点组件的高效回收与复用);面向业务(组件业务化、动态化,通过布局+组件的形式搭建整个页面,而不是从基本的UI元素搭建页面);多终端一致性(一个json描述的布局可以同时在iOS端与Android端使用,且表现一致)。

整体页面由卡片组成,卡片由组件组成。在Tangram中组件模型是抽象出的最小的可复用单元,承载业务逻辑和UI展示,以尽可能小的业务单元为颗粒度,而卡片模型负责逻辑,粗颗粒化,不提供布局细节描述,只声明布局方式。

本篇会从Tangram布局框架VLayout(Android)、VirtualView初探两方面来进行初步的介绍。

针对需要在长列表下做各种形态来分配不同元素的电商页首页,传统的复用容器(ListView或RecyclerView)会出现复用性降低以及需要处理嵌套滑动的情况,所以VLayout提供了一个基于RecyclerView的自定义LayoutManger,可以实现不同布局格式混排。

RecyclerView中正常只有一种布局,如果列表需要使用不同的布局,可以通过设置不同的ItemType,提供多种ViewHolder实现。而VLayout使用了不同的思路,其Adapter是串联自多个继承RecyclerView.Adapter的Adapter来管理视图的适配和数据,同时实现缓存。

VLayout中具体布局逻辑在LayoutHelper中实现,每个Adapter和LayoutHelper负责一个区域范围内的组件,不同范围内的组件之间如果类型相同,可以在滑动过程中回收复用。

LayoutHelper包含了它负责的组件的位置起始区域,它们会被传递给自定义的LayoutManager。当RecyclerView开始渲染页面或者滑动时,它内部维护了一个布局状态,获取当前屏幕范围内还有多少区域是空白的,下一个要加载的View的位置是多少,然后把这些信息告诉LayoutManager去加载View做布局。我们然后交给LayoutHelper去布局,不同的LayoutHelper会按照约定的协议进行进一的自定义LayoutManager拿到这个位置之后,就反向查找对应的LayoutHelper去布局。

VirtualView抽象&封装了Canvas绘制视图流程,通过使用Canvas来实现UI控件的绘制,虚拟化就是实现依赖于宿主容器而没有实际View(不同于常见的Button、TextView)。通过XML引用绘制好的UI组件,从而创建出界面模板,客户端通过解析和加载XML界面模板最终渲染出界面。

不论是虚拟化组件还是原生组件,都要经过计算尺寸阶段、布局阶段、绘制阶段来定义,再加上相同的尺寸计算接口、布局接口、绘制接口,这样对于宿主容器来说,包装在内部的组件就不分虚拟化还是原生,一视同仁,暴露给外面的接口也是一样的,只要将宿主容器像普通的View一样添加到的视图界面上,就可以在后续的渲染过程中显示出来。如果虚拟组件使用的越多,View的个数就越少,对于系统来说层级越扁平。以示例的组件来说,最终呈现的View只有宿主容器和两个图片组件,如果将图片也用虚拟化的方式实现,最终View只有一个宿主容器,而界面仍然保持不变。

优化问题

1.动态更新UI组件:实现了模板与数据分离,使用XML描述视图然后在

端上绑定动态下发的界面模板&数据,最终渲染。

2.提高性能:通过使用Canvas绘制减少视图的层级和个数来提高布局加载

效率。

特点

1.渲染性能高:渲染出来的视图结构呈现扁平化;

2.组件热更新:通过配套XML模板更新sdk;

3.跨平台:一套XML模板,可以Android、iOS通用;

4.兼容性好:支持加载&渲染原生基础组件;

5.使用方便:内置一系列基础组件可以直接使用。

在Tangram里使用VirtualView的时候,很多步骤已经内置到Tangram的初始化里了,外部只需要注册业务组件类型、加载模板数据、提供事件处理器。

基本布局描术文件是一个XML文件,并附带一个json数据文件,其中的相关数据来源都可以从数据json文件中使用表达式获取。一个XML就是一个组件,Tangram通过加载这个XML文件即可使用该XML文件所描述的组件,从而实现了动态新增组件类型的功能。

https://github.com/alibaba/tangram-android

https://www.sohu.com/a/122226581_505818

https://www.jianshu.com/p/48764ff8449f

https://www.jianshu.com/p/cd634106f533

http://pingguohe.net/2017/02/28/vlayout-design.html

tangram英语怎么读

tangram:英[ˈtæŋɡræm]美[ˈtæŋɡræm]

n.七巧板(中国游戏)

例句:

Thetangramisadissection3puzzleconsistingofsevenflatpolygonswhichareputtogethertoformshapes.

七巧板Tangram七巧板是一个小块拼图游戏,由七个扁平的多边形组成,这些多边形放在一起可以形成其他形状。

2.ASteganographyMethodofDigitalImageInformationBasedonTangram

一种基于七巧板游戏的数字图像信息伪装方法。

3.ExperimentalresultshowsthatTangramisefficient.

通过模拟网络的实验表明,Tangram系统是稳定而高效的。

4.SearchAlgorithmofTangramProblem.

七巧板问题的搜索解法。

5.InChina,itscountryoforigin,thetangrampuzzlewasconsideredagameforwomenandchildren.

在发源地中国,七巧板是妇女和儿童喜闻乐见的一种游戏。

6.Tangramisoneofthebiggestcallcenterserviceprovidesinshanghai,specializedincallcenteroutsourcingservicesandsolutions.

易方客服中心专业提供外包呼叫中心服务和解决方案,是上海最大的外包呼叫中心服务供应商之一。

jigsaw puzzle怎么读

jigsawpuzzle,英[ˈdʒɪɡsɔːˈpʌzl],美[ˈdʒɪɡsɔːˈpʌzl]

(玩具)益智分合板

词汇分析:

jigsaw,英['dʒɪɡsɔː],美['dʒɪɡsɔː]

n.拼图游戏;缕花锯;竖锯

vt.用竖锯锯;使互相交错搭接

puzzle,英['pʌzl],美['pʌzl]

n.难题;谜;迷惑;拼图游戏

vt.使为难;使困惑

vi.苦思;迷惑

名词:puzzler过去式:puzzled过去分词:puzzled现在分词:puzzling第三人称单数:puzzles

扩展资料:

puzzle近义词:difficulty,英['dɪfɪkəlti],美['dɪfɪkəlti]

n.困难;争议;麻烦

名词复数:difficulties

difficulty作“困难,麻烦”解时,指必须付出大量的思考和运用技巧才能解决的任何困难,当表示抽象的困难,是不可数名词,既不能与不定冠词连用,,也不能用于复数形式;表示具体的难处、难事、麻烦时,是可数名词,既可与不定冠词连用,也可用于复数形式。difficulty引申还可作“困境”解,这时常用复数形式。

本文链接:https://bk.89qw.com/a-989134

最近发表
网站分类