[英]PageView not showing inside SingleChildScrollView
我使用 PageView 創建了 ViewPager,但是當我將它放在 SingleChildScrollView 中時它停止顯示。但是當我將它放在 SingleChildScrollView 之外時它顯示正常。如何在 SingleChildScrollView 中顯示 PageView?
Expanded(
flex: 8,
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5.0),
),
margin: const EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 0),
child: Padding(
padding:
const EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 8.0),
child: promoPager())),
],
),
),
)
Widget promoPager() {
final PageController controller = PageController();
return Stack(
children: [
PageView(
controller: controller,
onPageChanged: (int page) {
setState(() {
tabController?.index = page;
});
},
children: const [
Image(
image: AssetImage('assets/dubai.jpg'), fit: BoxFit.fill),
Image(
image: AssetImage('assets/webcheckin.jpg'),
fit: BoxFit.fill),
Image(
image: AssetImage('assets/maldives.gif'),
fit: BoxFit.fill),
Image(
image: AssetImage('assets/giraffe.jpg'), fit: BoxFit.fill)
]),
Positioned(
bottom: 5,
right: 5,
child: TabPageSelector(
controller: tabController,
selectedColor: const Color(0xffea2330)))
],
);
我的小部件樹:- SinglechildScrollView->Column->Card->Padding->Stack->pageview
為PageView
提供高度可解決此問題。 您可以使用SizedBox(height:x)
或AspectRatio
並在此處使用圖像縱橫比。
有關PageView和AspectRatio的更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.