当前位置:网站首页>Efficient and beautiful scrolling component Slivers of Flutter tutorial (tutorial includes source code)
Efficient and beautiful scrolling component Slivers of Flutter tutorial (tutorial includes source code)
2022-08-08 05:24:00 【Knowledge is fat】
Widgets are the foundation of Flutter's layout system.Almost everything in Flutter is a widget, including layout models.Widgets are images, icons, and text that you see in your Flutter app.Things you can't see, such as arranging, constraining, and aligning rows, columns, and grids of visible widgets, are also widgets.


RenderObject class is the core of the rendering library, it handles the visual element tree and specifies the layout, painting and composting process.RenderObject does not have any specific layout protocol, nor does it define submodels.Implementers of the RenderObject class such as RenderBox, RenderSliver, RenderAbstractViewport, and RenderView introduce a layout system and submodels.
Most RenderObjects are RenderBoxes.
RenderBox has its Cartesian coordinate system and box constraints that determine the minimum and maximum height and width of its children.Then use these values to find out the size of the child.
Common examples of RenderBox are Container, SizedBox, etc.They follow the RenderBox protocol to describe and draw layout models based on Cartesian space and box constraints.
What is Sliver?
While RenderBoxes are great for rendering objects in Cartesian coordinates, they are not great for scrolling widgets.For rolling, there is the Sliver protocol.Render objects that implement scrolling effects in the viewport use RenderSliver as their base class.
The Sliver is the part of the viewport content that overlays the viewport.Sliver participates in the Sliver protocol.
边栏推荐
猜你喜欢
![Error: [Intervention] Unable to preventDefault inside passive event listener due to target ...](/img/57/44e6bc7a330f075f79eb428475d89c.png)
Error: [Intervention] Unable to preventDefault inside passive event listener due to target ...
![Talk about the principle and implementation of Redis distributed lock [Ant Financial Services Three Sides]](/img/ed/dbaeab544066b5dbf19e71bee0f8c9.png)
Talk about the principle and implementation of Redis distributed lock [Ant Financial Services Three Sides]

让你的应用完美适配平板

走进音视频的世界——RGB与YUV格式

基本工具-NETCAT(telnet-banner、传输文本信息)

一小时掌握vim基础用法

Redis设置开机自启动

千亿级、大规模:腾讯超大 Apache Pulsar 集群性能调优实践

sqlmap+dnslog注入复现

121 distributed interview questions and answers
随机推荐
Leetcode78. Subset
Hard Disk Basics
Servlet---ServletConfig类使用介绍
ES6剩余参数的使用
Week 8 Generative Adversarial Networks(生成对抗网络 GAN)
Flutter 教程之高效且精美的滚动组件Slivers (教程含源码)
邮件钓鱼上线cobalstrike
MySQL4(多表查询)
基于扰动观察法的光伏mppt最大功率控制matlab仿真
TSF微服务治理实战系列(二)——服务路由
Flatten multidimensional array to one dimension
Redis set to start automatically at boot
由联合体union引出的大小端问题
28. Anomaly detection
0 dictionary tree/string medium LeetCode676. Implement a magic dictionary
76. 最小覆盖子串
C language framework FreeSwitch custom event introduction and usage example
云计算和云服务,云计算
Lecture 84 Biweekly t4 6144 and Lecture 305 t4 6138
Object.prototype.toString()如何判断数据类型及注意点