我的ReorderableListView中的小部件本质上是TextField个。长按窗口小部件时,在长按应使窗口小部件“悬停”之后,TextField会获得焦点。如何使拖放效果优先于TextField?我仍然希望通过普通的点击来激活TextField。
下面的代码演示了我的问题。
我也尝试使用这个非官方的flutter_reorderable_list软件包。 (要测试这一点,请将示例代码this line上的Text小部件替换为TextField。)
我愿意使用任何丑陋的技巧来完成这项工作,包括修改Flutter源代码!
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final children = List<Widget>();
for (var i = 0; i < 5; i++) {
children.add(Container(
color: Colors.pink, // Only the pink area activates drag & drop
key: Key("$i"),
height: 50.0,
child: Container(
color: Colors.grey,
margin: EdgeInsets.only(left: 50),
child: TextField(),
),
));
}
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: ReorderableListView(
children: children,
onReorder: (oldIndex, newIndex) => null,
),
),
),
);
}
}