# 新版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可能更适合你的需求。它提供了一个简单而直观的方式来滚动查看超出屏幕可见区域的内容