如何设置PageView的动态高度以显示抖动图像?

时间:2020-08-03 16:47:55

标签: image flutter dart

我有一个显示图像的PageView:

  int _immaginiIndice = 0;
  final PageController _immaginiContr = PageController();

Container(
                height: MediaQuery.of(context).size.height * 0.5,
                child: PageView.builder(
                  controller: _immaginiContr,
                  onPageChanged: (i) {
                    setState(() => _immaginiIndice = i);
                  },
                  itemCount: _questoLuogo.immagini.length,
                  itemBuilder: (_, int j) => Align(
                    alignment: Alignment.topLeft,
                    child: Container(
                      decoration: BoxDecoration(
                        image: DecorationImage(
                          fit: BoxFit.cover,
                          image: NetworkImage(applicazione['urlimm'] + 
                              _questoLuogo.immagini.elementAt(j)),
                        ),
                      ),
                    ),
                  ),
                ),
              )

很抱歉用我自己的语言命名变量。

容器的高度固定为设备的一半,但是图像的纵横比不同,因此有些看起来不好。我想要的是将所有图像的宽度固定为100%,但是高度将成比例,因此纵向和横向图像看起来都很好。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我认为这是因为您没有给第二个容器指定大小,而是尝试了类似的操作:

对于扩展为flex为1的小部件,两者都应将屏幕一分为二。

Column(
  children: <Widget>[
    Expanded(
        flex: 1,
        child: Container(
          decoration: BoxDecoration(
            image: DecorationImage(
                fit: BoxFit.cover,
                image: AssetImage(
                  'images/backgroundImage.PNG',
                )),
          ),
        )),
    Expanded(flex: 1, child: Container()),
  ],
);