Flutter学习之组件组合要点

2024-08-28 05:18

本文主要是介绍Flutter学习之组件组合要点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Flutter 功能的开发,可以总结为将基础组件组合并赋予一些交互行为的过程,因此需要掌握组件组合的一些要点。

由于动态组件和静态组件的特点,因此在组合的时候要非常注意,动态组件下的子组件如果过多,则在组件更新的时候,会导致其子组件的全部更新,从而引发性能问题。因此在组件组合的时候需要有一些避免的规则来参考,下面这几点是我自己整理的一套原则。

1.尽可能减少动态组件下的静态组件;

2.数据来源相同的部分组合为同一组件;

3.使用行或者列作为合并的条件;

4.功能相同的部分,转化为基础组件;

5.合并后根节点的为 Container。

Flutter 中基础组件介绍
Flutter 内部包含一些基础的无状态组件,在组件设计的时候,需要对基础组件有一定认识。本课时所使用的 Flutter 基础组件(这里我只简单介绍本课时所使用的组件,更多组件请参考官网文档)包括:

Text,文本显示组件,里面包含了文本类相关的样式以及排版相关的配置信息;

Image,图片显示组件,里面包含了图片的来源设置,以及图片的配置;

Icon,Icon 库,里面是 Flutter 原生支持的一些小的 icon ;

FlatButton,包含点击动作的组件;

Row,布局组件,在水平方向上依次排列组件;

Column,布局组件,在垂直方向上依次排列组件;

Container,布局组件,容器组件,这点有点类似于前端中的 body ;

Expanded,可以按比例“扩伸” Row、Column 和 Flex 子组件所占用的空间 ,这点就是前端所介绍的 flex 布局设计;

Padding,可填充空白区域组件,这点和前端的 padding 功能基本一致;

ClipRRect,圆角组件,可以让子组件有圆形边角。

这篇关于Flutter学习之组件组合要点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113836

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW