Files
docs/开发文档/Flutter框架.md
2026-01-14 11:27:47 +08:00

52 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 新版android-studio设置中文
```
# 下载对应版本号的中文插件
https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----/versions/stable
# 将插件压缩包复制到android-studio安装目录的plugins目录
# 打开android-studio,打开setting,plugins,选择install plugin from disk从本地磁盘安装插件
```
# android sdk环境变量配置
```dart
//在系统变量中新建ANDROID_HOME变量,变量值为android-sdk所在目录
//在path变量中添加tools工具目录%ANDROID_HOME%\tools和%ANDROID_HOME%\platform-tools
```
# 包管理
## cookie
```sh
dio-cookie-manage不能用于web项目
```
# 布局Widget
## container
> container可以自定义其子widget,例如添加padding,边框等
## center
> 创建一个上下左右居中的容器
## child和children
> child只能包含单个子项,例如:center,container
> children可以包含多个子项,Row,column,ListView,Stack
## Row和Column
> 使用 mainAxisAlignment 和 crossAxisAlignment 属性控制行或列如何对齐其子项
SingleChildScrollView和ListView在Flutter中都是用于处理滚动内容的组件但它们之间存在一些关键的区别。以下是它们之间的主要区别
1. **子元素数量**
- SingleChildScrollView只能包含一个子元素。这个子元素可以是一个复杂的布局比如一个Column、ListView或GridView但整体来说SingleChildScrollView的直接子元素是单一的。
- ListView可以包含多个子元素。它是一个滚动的可滚动组件通常用于包含多个子元素的情况。ListView接受一个children参数该参数是一个包含所有子元素的列表。
2. **使用场景**
- SingleChildScrollView通常用于包装一个内容较大的单一子元素例如一个长文本或一个包含多个控件的复杂布局。当这个子元素的大小超过屏幕可见区域时用户可以通过滚动来查看全部内容。
- ListView更适用于包含多个子元素且子元素数量相对固定或有限的情况。由于ListView需要知道所有子元素的数量因此它在性能上更高效因为它只会在屏幕上显示的子元素上工作。
3. **动态内容**
- SingleChildScrollView由于只包含一个子元素这个子元素可以是一个动态生成的内容。SingleChildScrollView在处理动态内容例如异步加载的数据时更加灵活。
- ListView虽然也可以处理动态内容但由于其性能优化机制只渲染可见的子元素在处理大量动态内容时可能需要额外的考虑。
4. **其他功能**
- ListView支持分割器divider用于在列表项之间添加分隔符。此外ListView还提供了更多的滚动控制选项如滚动物理效果ScrollPhysics和滚动控制器ScrollController
- SingleChildScrollView更加简单和直观主要用于滚动查看超出屏幕可见区域的内容。它没有ListView提供的那些特定于列表的功能。
总结:
- 如果你有一个固定的、数量相对较少的子元素列表ListView是一个更好的选择因为它提供了针对列表的特定功能和性能优化。
- 如果你有一个单一的、内容较大的子元素或者需要处理动态内容SingleChildScrollView可能更适合你的需求。它提供了一个简单而直观的方式来滚动查看超出屏幕可见区域的内容