List/Grid: 预先规定了项目的显示方式,因此不用在渲染器中对其布局

List/Grid的初次布局是由渲染器根据宽高尺寸和显示内容的实际大小计算完成的。

在宽高不变的前提下,滚动条滚动也会更改UI布局(行位置的调整),但此时的UI布局变化不需要渲染器,而是组件内部控制的。


这样,【布局】这个功能将分散在组件本体和渲染器两处。

对于UI的显示控制,如果不加以规则限制,则代码看起来会分工不明确。

代码严谨的结构性受到影响。

*当然,任何事情都有特例,结构也需要在特例情况下做出特殊对待。

  但是,保持结构的统一,无疑也是非常重要的。

  如何定义,如何设计,如何选择,需要智慧


==========================================================

>>List

     规则                    :    在给定宽高的区域内(ContentObject.scrollRect  <-- 称其为Rect),纵向无缝紧密排列项目

     滚动条显示条件:    单个项目高度 * 项目个数 > Rect.height


>>Grid

     规则                    :    行(Row):        在给定宽高的区域内(ContentObject.scrollRect  <-- 称其为Rect),纵向无缝紧密排列项目

                                         行内项目    :         在行内,根据项目被指定的宽度,横向无缝紧密排列

     滚动条显示条件:    横向:                     行宽度 > Rect.width

                                         横向:                     行高度 * 行总数 > Rect.height


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值