【发布时间】:2020-12-12 04:37:35
【问题描述】:
我正在尝试使用 onForcePress 属性,例如onForcePressStart、onForcePressUpdate 等 Flutter 中的 GestureDetector 小部件,但是当我触摸屏幕时它们不会触发它们的回调(尽可能轻或尽可能有力)。我之前使用onPanStart、onPanUpdate 等实现了我原本相同的代码,它按预期工作,只是无法访问我想要的压力信息。
似乎没有调用 GestureForcePress 回调的最小工作示例:
import 'package:flutter/material.dart';
void main() {
runApp(App());
}
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
print('onTap triggered');
},
// onPanStart: (details) {
// print('onPanStart triggered with ' + details.toString());
// },
// onPanUpdate: (details) {
// print('onPanUpdate triggered with ' + details.toString());
// },
onForcePressStart: (details) {
print('onForcePressStart triggered with ' + details.toString());
},
onForcePressUpdate: (details) {
print('onForcePressUpdate triggered with ' + details.toString());
},
child: Container(
color: Colors.red,
),
);
}
}
我知道如果压力小于startPressure(GestureDetector 小部件默认为 0 到 1 的比例为 0.4),它们不应触发。 (我也想知道如何编辑这个 startPressure 属性,但会作为一个单独的问题提出。)
我正在测试的设备是 Galaxy Note 10+,它可以很容易地向其他应用程序提供压力信息。
【问题讨论】:
标签: flutter flutter-layout gesturedetector