Flutter Opacity Offstage Visibil
2022-04-28 本文已影响0人
一本大书
Opacity
当设置透明度为0时,不展示,但在Widget Tree中存在。
如果不可见的时候需要占用大小,将alwaysIncludeSemantics
设为true。
Offstage
当offstaged
设置为true,子组件不可见,但仍处于activity状态。
如果不展示的时候有动画在执行,需要手动关闭动画。
Visibility
// 子控件可见,绘制到屏幕上;
visible: true
/*
子控件不可见,并且不在屏幕上占用一定的空间,
此时会使用replacement替换child,
实际绘制的Widget就是replacement,
默认replasement时宽高为0的SizedBox.
*/
visible: false
/*
当visible=false时,是否保存子组件的状态。
当为true时,子组件会在Widget Tree中存在,不占用屏幕 的空间,
内部实现方式是在子child增加了Offstage等一些父控件.
*/
visible: false,
maintainState: true,