图像比例型中心作物在颤动?

Bol*_*aul 7 android flutter

我正在尝试从android ImageView执行类似于centerCrop属性的操作.设置imageview的高度,并使其裁剪并对齐到中心,就像centerCrop在android上工作一样.

 Widget bindItem(BuildContext context, int index) {
return new Card(
    child: new Column(
        children: <Widget>[
          new Image.network(
            _parties[index]["cover"], fit: BoxFit.fitWidth,
            height: 120.0,
          ),
          new Text(_parties[index]['name'])
        ]
    )
);
Run Code Online (Sandbox Code Playgroud)

}

@override
      Widget build(BuildContext context) {
        return new Scaffold(
            appBar: new AppBar(
              title: new Text("Parties"),
            ),
            body: new ListView.builder(
              itemCount: _parties == null ? 0 : _parties.length,
              itemBuilder: bindItem,
            )
        );
      }
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

Ant*_*ace 16

Android ScaleType和BoxFit应该匹配如下:

  1. CENTER =无
  2. CENTER_CROP =封面
  3. CENTER_INSIDE = scaleDown
  4. FIT_CENTER =包含(alignment.center)
  5. FIT_END =包含(alignment.bottomright)
  6. FIT_START =包含(alignment.topleft)
  7. FIT_XY =填写

所以你应该使用Cover来实现CENTER_CROP结果.

编辑:

问题应该是Column小部件的crossAxisAlignment.将此属性设置为crossAxisAlignment:CrossAxisAlignment.stretch应该可以解决您的问题.


小智 9

new Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        mainAxisSize: MainAxisSize.max,
        children: <Widget>[
        new Expanded(child: new Image.network(
            cover.img,fit: BoxFit.fitWidth,
        ),

        ),
        Text(cover.name),
      ]
    )
Run Code Online (Sandbox Code Playgroud)

这对我有用


Blo*_*oss 5

new Center(
                  child: Container(
                    child: new Stack(
                      children: <Widget>[
                        new Image.asset(
                          'assets/images/firebase1.png',
                          width: 100.0,
                          height: 100.0,
                        ),
                      ],
                    ),
                  ),
                ),
Run Code Online (Sandbox Code Playgroud)