flutter widget

Posted qqcc1388

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter widget相关的知识,希望对你有一定的参考价值。

Overlay 自定义弹窗 悬浮窗

意思是Overlay是一个Stack组件,可以将OverlayEntry插入到Overlay中,使其独立的child窗口悬浮于其它组件之上,利用这个特性可以自定义弹窗或者悬浮窗

  OverlayEntry entry = OverlayEntry(builder: (context) {
      return Positioned(
        top: 64,
        left: 0,
          child: Material(
            color: Colors.white,
            child: Container(
              height: 40,
              width: MediaQuery.of(context).size.width,
             color: Colors.orange,
              alignment: Alignment.center,
              child: Text(‘我是弹窗‘),
            ),
          ));
    });
    Overlay.of(context).insert(entry);
    Future.delayed(Duration(seconds: 2)).then((res) {
      entry.remove();
    });

Hero 页面过渡动画

Hero的使用非常的简单,需要关联的两个组件用Hero组件包裹,并指定相同的tag参数,代码如下:

///列表item
InkWell(
      child: ClipRRect(
        borderRadius: BorderRadius.circular(4),
        child: Hero(
          tag: widget.data,
          child: LoadImage(
            ‘${widget.data.img}‘,
            width: 81.0,
            height: 81.0,
            fit: BoxFit.fitHeight,
          ),
        ),
      ),
      onTap: () {
        Navigator.of(context).push(MaterialPageRoute(
            builder: (context) => GoodsDetailsPage(data: widget.data)));
      },
    );
///详情
 Hero(
    tag: tag,
    child: LoadImage(
        imageUrl,
        width: double.infinity,
        height: 300,
        fit: BoxFit.cover,
        ),
    )

BackdropFilter 高斯模糊

ClipRect(
    BackdropFilter(
        filter: ImageFilter.blur(sigmaX, sigmaY),
        child: ...)
)

以上是关于flutter widget的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:如何使用变量将参数传递给 Widget?

[Flutter Widget] layout

Flutter学习 可滚动Widget 中

Flutter学习 可滚动Widget 中

Flutter生命周期基础Widget介绍

Flutter生命周期基础Widget介绍