| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Silver家族成员 -> 正文阅读 |
|
[移动开发]Silver家族成员 |
Silver家族成员参考: 29Flutter Sliver家族_LJLThomson的博客-CSDN博客_flutter slivers大家族 https://segmentfault.com/a/1190000019902201 Sliver简介通过silver相关组件可以实现,各种组合滑动效果;silver家族相关的组件包括: 1、CustomScrollView 2、SliverList 3、SliverGrid 4、SliverAppBar 5、SliverPersistentHeader 6、SliverToBoxAdapter 7、SliverFillRemaining 8、SliverPadding 9、SingleChildScrollView CustomScrollViewCustomScrollView是Flutter提供的可以用来自定义滚动效果的组件,它可以像胶水一样将多个Sliver粘合在一起。 Eg:页面中同时存在一个List和一个Grid,由于各自的滚动效果是分离的,所以没法保证一致的滚动效果。使用CustomScrollView组件作为滚动容器,SliverList和SliverGrid分别替代List和Grid作为CustomScrollView的子组件,滚动效果再由CustomScrollView统一控制 CustomScrollView是一个Widget数组,在其slivers属性可放入各种silver组件。 ? SliverList,它只有一个delegate属性,可以用SliverChildListDelegate或SliverChildBuilderDelegate这两个类实现。前者将会一次性全部渲染子组件,后者将会根据视窗渲染当前出现的元素,其效果可以和ListView和ListView.build这两个构造函数类比。 (SliverGrid和SilverList用法一致) SliverAppBarAppBar是常用来构建一个页面头部Bar的组件,在CustomScrollView中与其对应的是SliverAppBar组件 ?
SliverPersistentHeaderSliverAppBar是基于SliverPersistentHeader实现sticky吸顶的效果。 SliverPersistentHeader最重要的一个属性是SliverPersistentHeaderDelegate,为此我们需要实现一个类继承自SliverPersistentHeaderDelegate。SliverPersistentHeader最重要的一个属性是SliverPersistentHeaderDelegate,为此我们需要实现一个类继承自SliverPersistentHeaderDelegate。 ?
在build方法中的shrinkOffset属性,它代表当前头部的滚动偏移量。我们可以根据它计算得到当前收起头部的背景颜色以及图标和文案的字体颜色,这样就能根据当前位置得到过渡效果 SliverToBoxAdapterSliverPersistentHeader一般来说都是会展开/收起的(除非minExtent和maxExtent值相同),那么如果想要在滚动视图中添加一个普通的控件,那么就可以使用SliverToBoxAdapter来将各种视图组合在一起,放在CustomListView中。 ? SliverFillRemaining这个部件一般用于最后填充用的,会占有一个屏幕的高度,可以在 child 属性加入需要展示的部件 SliverPadding类似于padding控件,这里用在ilver中,为相关silver控件加上外边距。 SingleChildScrollViewSingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView将会非常昂贵(性能差),此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView; SingleChildScrollView中如果包含了ListView(listview数据固定),需要禁用ListView的物理滑动属性,同时设置包裹内容属性shrinkWrap为true。 ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 0:46:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |