如何使 Stack 小部件中的第二个小部件很重要?
How can I make second widget in Stack widget is important?
我使用 Stack 小部件制作叠加层。
让我们想象一下。
1) 我在底部添加了 PageView。
2) 我添加 Container 在顶部制作渐变。
我想知道
如何在渐变结束的情况下滚动 PageView?
这是一个例子
body: Stack(
children: <Widget>[
PageView.builder(
itemBuilder: (BuildContext context, int index) => Container(
height: double.infinity,
width: double.infinity,
child: Text("Index: $index"),
color: _pageColors[index],
),
onPageChanged: (number) {
setState(() {
_pageFocus = number + 1;
});
print(number);
},
controller: _pageController,
itemCount: _pageColors != null ? _pageColors.length : 0,
),
Align(
alignment: AlignmentDirectional.bottomEnd,
child: Container(
height: 100.0,
child: Stack(
children: <Widget>[
Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Color.fromRGBO(255, 255, 255, 0.0),
Colors.white,
],
stops: [
0.0,
3.0
],
begin: FractionalOffset.topCenter,
end: FractionalOffset.bottomCenter,
tileMode: TileMode.repeated),
),
width: double.infinity,
height: double.infinity,
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Align(
alignment: AlignmentDirectional.centerStart,
child: Text('$_pageFocus/${_pageColors.length}')),
)
],
),
),
),
],
),
看看将 Align 包裹在 IgonorePointer 中是否有帮助。 docs.flutter.io/flutter/widgets/IgnorePointer-class.html
我使用 Stack 小部件制作叠加层。
让我们想象一下。
1) 我在底部添加了 PageView。
2) 我添加 Container 在顶部制作渐变。
我想知道
如何在渐变结束的情况下滚动 PageView?
这是一个例子
body: Stack(
children: <Widget>[
PageView.builder(
itemBuilder: (BuildContext context, int index) => Container(
height: double.infinity,
width: double.infinity,
child: Text("Index: $index"),
color: _pageColors[index],
),
onPageChanged: (number) {
setState(() {
_pageFocus = number + 1;
});
print(number);
},
controller: _pageController,
itemCount: _pageColors != null ? _pageColors.length : 0,
),
Align(
alignment: AlignmentDirectional.bottomEnd,
child: Container(
height: 100.0,
child: Stack(
children: <Widget>[
Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Color.fromRGBO(255, 255, 255, 0.0),
Colors.white,
],
stops: [
0.0,
3.0
],
begin: FractionalOffset.topCenter,
end: FractionalOffset.bottomCenter,
tileMode: TileMode.repeated),
),
width: double.infinity,
height: double.infinity,
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Align(
alignment: AlignmentDirectional.centerStart,
child: Text('$_pageFocus/${_pageColors.length}')),
)
],
),
),
),
],
),
看看将 Align 包裹在 IgonorePointer 中是否有帮助。 docs.flutter.io/flutter/widgets/IgnorePointer-class.html