在我的自定义窗口小部件中,有多个组件以及页面滚动。每当我不小心触摸附近的滑块时,它就会识别出触摸并将位置更改为相应的位置。我需要自定义行为,以便滑块仅在用拇指栏拖动时才更改。
我尝试在滑块顶部添加一个手势识别器,但提供了更改和重置值的闪烁效果。是否有可能使Slider除拖动外不对触摸做出反应?
GestureDetector(
onHorizontalDragUpdate: (updateDetails) {
print("On onHorizontalDragUpdate called");
setState(() {
_diffLevel = updateDetails.globalPosition.distance;
});
},
onTap: (() {
setState(() {
_diffLevel = _diffLevel;
});
print("On Tap called");
}),
child: Slider.adaptive(
value: _diffLevel.toDouble(),
activeColor: MyColors.appMediumBlueColor(),
//inactiveColor: Colors.purple,
onChanged: (double newValue) {
setState(() {
_diffLevel = newValue;
});
},
min: widget.minLevel,
max: widget.maxLevel,
divisions: widget.divisions,
label: _diffLevel.toString(),
),
)
预期结果:
实际结果:
我尚未分析您的代码,但是有没有理由不使用https://pub.dev/packages/flutter_range_slider
吗?