我使用 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
uj5u.com熱心網友回復:
提供高度以PageView解決問題。您可以在此處使用SizedBox(height:x)或AspectRatio使用影像縱橫比。
有關PageView和AspectRatio 的更多資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/396204.html
