在我的应用程序中,我有一个PageView
和一个Slider
. 当我滚动 时PageView
,我希望Slider
改变它的值,当我滑动时,Slider
我希望页面PageView
也会改变。为此,我有一个状态是value
的Slider
,并且在onChanged
我将改变它的值,并且onChangeEnd
将动画PageView
到期望的位置:
Slider(
value: _sliderValue,
onChanged: (val) {
setState(() {
_sliderValue = val;
});
},
onChangeEnd: (val) {
_controller.animateToPage(val.toInt(),
duration: Duration(milliseconds: 300), curve: Curves.ease);
},
max: (pages.length - 1).toDouble())
在 中PageView
,我也必须更新_sliderValue
,所以当我滚动时它可以工作PageView
:
PageView.builder(
onPageChanged: (page) {
setState(() {
_sliderValue = page.toDouble();
});
},
)
问题是,我现在有 2 个地方需要更改_sliderValue
- 一个onChanged
用于Slider
响应,一个onPageChanged
用于滚动。当我反复按下滑块时,这会使滑块震动。
有没有办法解决这个问题?