gpt4 book ai didi

flutter - 子列通过stretch时可拖动的反馈消失了怎么办

转载 作者:行者123 更新时间:2023-12-03 03:05:13 26 4
gpt4 key购买 nike

这是我第一次使用 Draggable 小部件,我遇到了一个问题,即当反馈包含具有属性 crossAxisAlignment: CrossAxisAlignment.stretch, 的列时,反馈小部件会消失。 .

当我删除这条线时, Draggable 小部件按预期工作,但我需要小部件在被拖动时和不被拖动时看起来相同。该小部件旨在跨越屏幕上可用的宽度,但我在想一旦它被移动,约束就消失了?我不完全确定,但这里有一个演示和简化版本的代码来重复这个问题。

提前为大gifs道歉当我使用 Stack Overflow 上的 size 标签压缩它们时,gif 不会播放。

crossAxisAlignment: CrossAxisAlignment.stretch在反馈中:

With Stretch Attribute

没有 crossAxisAlignment: CrossAxisAlignment.stretch在反馈中,但失去了全宽:

Without Stretch Attribute

简化代码:

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: () {},
),
),
),
],
),
),
),
);
}
}

最佳答案

我最终使用了 LayoutBuilder并通过BoxConstraintsConstrainedBox对于Draggable在反馈模式下:

class MessageDraggable extends StatelessWidget {
final Message message;

const MessageDraggable({Key key, this.message}) : super(key: key);

@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Draggable<Message>(
data: message,
feedback: ConstrainedBox(
constraints: constraints,
child: MessageCard(message: message),
),
child: MessageCard(message: message),
childWhenDragging: Container(),
maxSimultaneousDrags: 1,
dragAnchor: DragAnchor.child,
);
},
);
}
}

关于flutter - 子列通过stretch时可拖动的反馈消失了怎么办,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com