美文网首页
flutter-可选元素的显示或隐藏Offstage

flutter-可选元素的显示或隐藏Offstage

作者: 秋分落叶 | 来源:发表于2019-09-24 11:18 被阅读0次

    布局行为:
    offstage的布局行为完全取决于offstate参数,offstage默认为true,不显示;

    当offstage为true,child不会绘制到屏幕上,不会响应点击事件,也不会占用空间;
    当offstage为false,child绘制到屏幕上;
    注意,当offstage不可见,如果child有动画,应该手动停止动画,offstage不会停止动画;

    示例代码:

     Widget _createTips(String image, String title, {String subTitle}) {
        return InkWell(
          child: Column(
            children: <Widget>[
              Image.asset(ImageUtil.mineAssets(image), width: 50, height: 41),
              SizedBox(height: 5),
              ICYText(title, fontSize: 12, color: Color(0xFF7474DC)),
              SizedBox(height: 5),
              Offstage(
                  offstage: subTitle != null ? false : true,
                  child: ICYText(subTitle ?? '',
                      fontSize: 12, color: Color(0xFFE3AC5E)))
            ],
          ),
        );
      }
    }
    

    如果offstage为true,child自身的最小最大宽度返回0.0;而且也不会绘制child,也不会加载到内存中;offstage并不是通过插入或者删除widget tree的节点来实现显示隐藏效果,而是通过自身尺寸,不响应hitTest以及不绘制,来达到展示与隐藏的效果;

    相关文章

      网友评论

          本文标题:flutter-可选元素的显示或隐藏Offstage

          本文链接:https://www.haomeiwen.com/subject/izdmyctx.html