我有一个显示图像的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%,但是高度将成比例,因此纵向和横向图像看起来都很好。
我该怎么办?
答案 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()),
],
);