我想将以下容器添加到 ListView,但容器不会将添加的图像的大小作为装饰。如果我将图像添加为容器的子项,它可以正常工作,但我也想在图像顶部显示文本。

var imageListView = new List<Container>();
var container1 = new Container(
  margin: EdgeInsets.all(8.0),
  alignment: Alignment.bottomLeft,
  child: new Text('Order of The Day',
      style: new TextStyle(
          fontFamily: 'CallingAngelsPersonalUse',
          fontSize: 20.0,
          color: Colors.white
      ),
  ),
  decoration: new BoxDecoration(
    image: new DecorationImage(
      image: new AssetImage('assets/SVSunset.jpg'),
      fit: BoxFit.cover,
    ),
  ),
);

将容器添加到 ListView 然后显示如下:
imageListView.add(container1);

new ListView(children: imageListView)

谁能看到我错过了什么?

最佳答案

我设法通过将所有内容放入堆栈并定位文本来解决此问题,如下所示:

var container1 = new Container(
  margin: EdgeInsets.all(8.0),
  child: new Stack(
    children: <Widget>[
      new Image(image: new AssetImage('assets/SVSunset.jpg')),
      new Positioned(
        left: 8.0,
        bottom: 8.0,
        child: new Text('Order of the day',
          style: new TextStyle(
              fontFamily: 'CallingAngelsPersonalUse',
              fontSize: 30.0,
              color: Colors.white
          ),
        ),
      )
    ],
  ),
);

关于dart - 容器不占用 BoxDecoration 图像的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50089354/

10-12 04:11
查看更多