如何将PageView高度与项目高度相匹配?

时间:2019-10-01 10:54:33

标签: android flutter flutter-layout

我想在Flutter应用程序中使用PageView来显示银行卡。

问题是PageView的页面高度类似于match_parent,并且几乎占据了整个屏幕,但是我想在{{1}内匹配Card的高度}-类似于Android XML布局中的PageView

wrap_content视图包含:

  • Card-别名
  • Text-卡片图形

两者都放在CardView中的Column小部件中。 ContainerText具有蓝色背景,CardView具有绿色背景。

Container

App layout preview

这是第一个问题。我正在使用@override Widget build(BuildContext context) { return Container( color: Colors.green, child: Column( mainAxisSize: MainAxisSize.min, children: [ Container( color: Colors.blue, child: Align(alignment: Alignment.centerLeft, child: Text(card.alias))), Container( color: Colors.blue, child: AspectRatio(aspectRatio: 1.586, child: CardView(card: card))), ], ), ); } 来包装mainAxisSize: MainAxisSize.min的高度,但是它不能工作,因此绿色正在填充屏幕-但高度应与蓝色相同。

因为单个页面太高,所以PageView也太高了。

Column使用该代码创建,并且PageView具有红色背景。:

PageView

,该方法(Widget buildPageView(BuildContext context, AsyncSnapshot<List<WalletCard>> cards) { return PageView.builder( physics: AlwaysScrollableScrollPhysics(), controller: PageController(viewportFraction: 7 / 8), itemCount: cards.data == null ? 0 : cards.data.length, itemBuilder: (BuildContext context, int index) { return Item(index: index, card: cards.data[index]); }); } )用于在buildPageView内提供WidgetCardsPageView通过以下代码显示在屏幕上:

CardsPageView

0 个答案:

没有答案