我对Flutter还是很陌生,但我仍在努力理解类与小部件之间的交互。对于我当前的项目,我要实现的目标是“拖动”对话框上的Draggable,然后将其从对话框中移到对话框后面的DragTarget上。
当前,我有三个类,DragIconComponent,MenuComponent和MainPage。该对话框位于MenuComponent中。我知道这是一种跨类处理可拖动对象的非常不合常规的方法,到目前为止,我一直在尝试执行任何操作,因为DragTarget被对话框的background(?)阻止了。
这是我的Draggable小部件所在的位置:
if(position == 0 || position == numlist.size()-1){
// I assume the list name is numlist
holder.asterisk.setVisibility(View.GONE);
// I assume the item name is asterisk
}
我打算做的是将Draggable小部件移到主页上:
class DragIconComponentState extends State<DragIconComponent> {
Widget _menuIcon() {
return Container(
child: Image.asset(...)
);
}
Widget _disabledMenuIcon() {
return Container(
child: Image.asset(...)
);
}
@override
Widget build(BuildContext context) {
return Draggable(
child: _menuIcon(),
),
feedback: _menuIcon(),
childWhenDragging: _disabledMenuIcon(),
onDragCompleted: () {
Navigator.of(context, rootNavigator: true).pop();
},
);
}
}
我想知道是否有可能实现我想做的事情,如果不能,也许有一种解决方法可以达到相同的效果?
谢谢。