dart - 如何使用 Flutter 中的 Stack 小部件部分覆盖 View

我正在使用 Flutter 进行应用开发。 我想在背景图像上叠加一个海报 ImageView ,就像下面的截图一样。 下面的代码片段可以做到这一点,但它还需要我根据海报的位置和背景图像的位置来定位所有其他小部件,包括电影标题、发布日期等,这在多个设备和方向上并不可靠。有解决这个问题的例子或建议吗?

    @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new PlatformAdaptiveAppBar(
        title: new Text(widget.movie.title),
      ),
      body: new Container(
          constraints: new BoxConstraints.expand(),
          child: new Stack(
            children: <Widget>[
              new Container(
                child: new Image(
                    image: new AdvancedNetworkImage(
                        movieGridUtil.getUrlFromPath(widget.movie.backdrop_path,
                            MovieGridImageTypes.BACKDROP),
                        useMemoryCache: false,
                        useDiskCache: true)),
                constraints: new BoxConstraints.expand(height: 250.0),
              ),
              new Positioned(
                  left: 12.0,
                  top: 220.0,
                  child: new Image(
                    width: 100.0,
                    height: 150.0,
                    image: new AdvancedNetworkImage(
                        movieGridUtil.getUrlFromPath(widget.movie.poster_path,
                            MovieGridImageTypes.POSTER),
                        useMemoryCache: false,
                        useDiskCache: true),
                  )),
            ],
          )),
    );
  }

最佳答案

创建堆栈

然后在 Stack 中添加 Column 并在没有海报的情况下进行完整布局。 然后作为 Stack 的第二个 Child,添加以下组合:

new Stack(
  children: [
    new Column(
      children: _layout()
    new Positioned(
      top:200,
      left:50,
      child: _child // or optionaly wrap the child in FractionalTranslation
    )]
  )
)

https://stackoverflow.com/questions/50441745/

相关文章:

dart - Flutter - Slider 交互结束后如何运行方法?

firebase - Flutter cloud_firestore 插件 Android 上的事务

visual-studio-code - Flutter:具有@override 列表的 VSCod

android - 如何在 flutter 和平台之间传输麦克风数据?

dart - Flutter:在第一次加载时将数据预加载到 Firestore 本地缓存中

android-studio - Android Studio 在创建新的 Flutter 项目时卡

Flutter - 加载 Assets 进行测试

dart - flutter 热重载

dart - 如何获取当前小部件的偏移量

cookies - Dart/Flutter 身份验证实现