这是我第一次使用Draggable Widget,并且遇到一个问题,当反馈包含具有属性crossAxisAlignment: CrossAxisAlignment.stretch,
的列时,反馈小部件会消失。
当我删除此行时,Draggable小部件可以按预期工作,但是当它被拖动时,我需要该小部件看起来不一样。该窗口小部件旨在延伸到屏幕上可用的宽度,但是我在想,一旦移动它,约束就消失了吗?我不完全确定,但是这里有一个演示和简化版代码,可以重复该问题。
对于大gifs
,当我在Stack Overflow上使用size标签压缩它们时,抱歉,gif不会播放。
有crossAxisAlignment: CrossAxisAlignment.stretch
反馈:
反馈中没有crossAxisAlignment: CrossAxisAlignment.stretch
,但失去了全宽度:
简化代码:
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Draggable(
axis: Axis.horizontal,
child: Card(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Text("Testing",
style: TextStyle(fontSize: 30),
textAlign: TextAlign.center,
)
],
),
),
feedback: Card(
child: Column(
// crossAxisAlignment: CrossAxisAlignment.stretch, // THIS LINE
children: <Widget>[
Text("Testing",
style: TextStyle(fontSize: 30),
textAlign: TextAlign.center,
)
],
),
),
childWhenDragging: Center(
child: Row(
children: <Widget>[
Expanded(
flex: 4,
child: Container(
child: null,
),
),
Expanded(
flex: 1,
child: Container(
child: IconButton(
padding: EdgeInsets.all(10),
icon: Icon(Icons.delete),
tooltip: 'Delete Task',
color: Color(0xFFFF6984),
onPressed: () {},
),
),
),
],
),
),
),
);
}
}
答案 0 :(得分:0)
我最终使用了LayoutBuilder
,并在反馈模式下将BoxConstraints
的{{1}}传递给了ConstrainedBox
的{{1}}:
Draggable